码迷,mamicode.com
首页 > 编程语言 > 详细

逐行读写字符串数组到文本txt文件

时间:2015-05-12 09:27:19      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:file   txt文件   文件io   批量处理   

C语言方式


将字符串数组写入到txt文件中

有五个文件名存储在字符串数组中,欲将其逐行写入到txt文件中保存到磁盘上。

利用fprintf对文件进行格式化输出

void Filewrite()
{
    FILE *fp;
    char * name[] = {"filen1", "file2", "file3", "file4", "file4"};
    fp = fopen("E://test.txt", "w");
    for (int i = 0; i < 5; i++)
    {
        fprintf(fp, "%s\n", name[i]);
    }
    fclose(fp);
}

使用fputs函数逐行写入

char *InputStr="this is ok";    
FILE* fp = fopen("C:\\1.txt", "wt");    
if(fp != NULL)  
{
    fseek(fp, 0, SEEK_END); 
    fputs(InputStr, fp);        
    fputs("\r\n",fp);       
    fclose(fp); 
}

逐行读取txt文件中的字符串

text.txt文件内容如下

file1
file2
file3
file4
file4

欲将其读入到一个字符串数组中

利用fscanf对文件进行格式化输入

void Fileread()
{
    int i = 0;
    FILE *fp;
    fp = fopen("E://test.txt", "r");
    char  name[6][10];

    while(!feof(fp))
    {
        fscanf(fp,"%s", name[i]);
        printf("%s", name[i]);
        i++;
    }
    fclose(fp);
}

C ++ 方式


#include <fstream>
#include <string>
#include <iostream>
using namespace std;

int main()
{
    ifstream in("test.txt");
    string filename;
    string line;

    if(in) // 有该文件
    {
        while (getline (in, line)) // line中不包括每行的换行符
        { 
            cout << line << endl;
        }
    }
    else // 没有该文件
    {
        cout <<"no such file" << endl;
    }

    return 0;
}

实现文件file1,到文件file2的复制

#include <fstream>
#include <string>
#include <iostream>
using namespace std;

void fileCopy(char *file1, char *file2)
{
    // 最好对file1和file2进行判断

    ifstream in(file1);
    ofstream out(file2);
    string filename;
    string line;

    while (getline (in, line))
    { 
        out << line << endl;
    }
}

int main()
{
    fileCopy("1.txt", "2.txt");
    return 0;
}

MFC方式


在MFC框架下,推荐使用CString和CFile处理字符串和文件,这样不涉及编码转换问题,处理方便,不容易出错。

CFile f;
f.Open(_T("d:\\txl.txt"),CFile::modeReadWrite);
CString wstr;
int len = strSum.GetLength();
cf.Write(strSum.GetBuffer(len), len);
f.Write("\r\n", 2);
f.Close();

可能出现编码混乱的现象,这时可以使用CS

逐行读写字符串数组到文本txt文件

标签:file   txt文件   文件io   批量处理   

原文地址:http://blog.csdn.net/u012675539/article/details/45651619

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!