有五个文件名存储在字符串数组中,欲将其逐行写入到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);
}
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);
}
#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框架下,推荐使用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
原文地址:http://blog.csdn.net/u012675539/article/details/45651619