在VC++中修改文件

来源:百度知道 编辑:UC知道 时间:2024/05/25 07:59:18
有个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+&