在VC++中修改文件

有个TXT文件,文件名是SD.txt 内容如下,
0T0017 00000000000000000000000000000000000003792844
0T0018 00000000000000000000000000000000000000498306
0T0019 00000000000000000000000000000000000006596981
0T0020 00000000000000000000000000000000000004370784
0T0021 00000000000000000000000000000000000007371709
0T0022 00000000000000000000000000000000000008048695
0T0023 00000000000000000000000000000000000004528882
用什么函数可以将T0018到T0023换成“T1排1列18个”.如果没有这种函数,应该用什么方法去完成这个功能呢?

假设原始文件SD.txt位于C盘根目录下,将转化后的数据存于C盘根目录下的SD2.txt中,代码如下:

CStdioFile sfFile1,sfFile2;
BOOL bFileExist;

//打开原始文件
bFileExist = sfFile1.Open("C:\\SD.txt", CFile::modeRead);
if(!bFileExist)
{
MessageBox("文件不存在!");
return;
}

//创建要写入的文件
bFileExist=sfFile2.Open("C:\\SD2.txt", CFile::modeCreate | CFile::modeWrite);
if(!bFileExist)
{
MessageBox("写文件失败!");
return;
}

CString strline;

//读原始文件内容,转换后存入新的文件
while(sfFile1.ReadString(strline))//读出一行数据
{
CString strTemp;//临时字符串用来保存前面的标号
CString strData;//存取后面的数据
strTemp = strline.Left(6);//提取前6个字符
strData = strline.Right(strline.GetLength()-7);//提取后面的数据
strTemp = strTemp.Right(2);//提取序号

strline = "T1排1列" + strTemp + "个 " + strData;//生成新的行

sfFile2.WriteString(strline+"\n");//写入新的文件
}

//关闭文件
sfFile1.Close();
sfFile2.Close();
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-12-30
先使用文件读操作函数读取CSTRING,然后使用formal()和mid()函数依次取18个字符,格式到CSTRING中,在使用文件写操作函数,写入TXT中
第2个回答  2008-12-30
只能自己读取文件,然后分析读到的内容呀,C++没有智能到那个地步。

这正是需要程序员的时候,你却像把这样的事情交给VC,那你就失去了价值,呵呵
第3个回答  2008-12-30
读取文件,作修改后写到新文件中。
第4个回答  2008-12-30
简单的字符串操作,自己写啊
相似回答