怎么读取以下文件的第一行第二行,并替换了它。
(1)(2)行替换掉,但以后的不动。(1)Microsoft Visual Studio Solution File, Format Version 10.00
(2)# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ABC", "ABC\ABC.vcproj", "{67B7E78B-BA9C-4F63-8E8C-FA886A55DA26}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{67B7E78B-BA9C-4F63-8E8C-FA886A55DA26}.Debug|Win32.ActiveCfg = Debug|Win32
{67B7E78B-BA9C-4F63-8E8C-FA886A55DA26}.Debug|Win32.Build.0 = Debug|Win32
{67B7E78B-BA9C-4F63-8E8C-FA886A55DA26}.Release|Win32.ActiveCfg = Release|Win32
{67B7E78B-BA9C-4F63-8E8C-FA886A55DA26}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
(1)(2)行替换掉,但以后的不动。(1)Microsoft Visual Studio Solution File, Format Version 10.00
(2)# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ABC", "ABC\ABC.vcproj", "{67B7E78B-BA9C-4F63-8E8C-FA886A55DA26}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{67B7E78B-BA9C-4F63-8E8C-FA886A55DA26}.Debug|Win32.ActiveCfg = Debug|Win32
{67B7E78B-BA9C-4F63-8E8C-FA886A55DA26}.Debug|Win32.Build.0 = Debug|Win32
{67B7E78B-BA9C-4F63-8E8C-FA886A55DA26}.Release|Win32.ActiveCfg = Release|Win32
{67B7E78B-BA9C-4F63-8E8C-FA886A55DA26}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
FILE* pfile;
char line[1024]={0};
char lines[100][1024]={0};
int i=0;
pfile=fopen("C:\\abc.txt","rt");
while(!feof(pfile))
{
fgets(line,1024,pfile);
strcpy(lines[i],line);
i++; }
fclose(pfile);
strcpy(lines[0],"Micrsoft Internet Explorer");
strcpy(lines[1],"Visual Studio 2008");
pfile=fopen("C:\\abc.txt","wt");
for (int i=0;i<100;++i)
{
if(lines[i][0]!='\0')
{
fputs(lines[i],pfile);
fputc('\n',pfile);
}
}
fclose(pfile);
回楼上:MFC中是CFile
1.先把文件所有内容读出来,然后关闭文件句柄
2.设置文件长度为0,就会清除之前的内容,代码如下:
CFile file; CFileException fileExp;
if(file.Open(_T("C:\\abc.txt"),CFile::modeWrite,&fileExp))
{
file.SetLength(0);
file.Close();
}
3.将字符串数组修改之后,重新写入文件
ReadString读取一行
WriteString写入一行
1.读取文件内容:
CString strLine[100];
CStdioFile file;
CFileException excep;
CFileStatus status;
CString name=_T("C:\\abc.txt");
if(CFile::GetStatus(name,status))
{
int i=0;
file.Open(name,CFile::modeRead);
while(file.ReadString(strLine[i++]));
file.Close();
}
strLine[0]=_T("Microsoft Visual Studio");
strLine[1]=_T("Windows XP");
2.清除原文件内容
if(file.Open(name,CFile::modeRead,&excep))
{
file.WriteString(_T(""));
file.Close();
}
3.将字符串数组写入到空文件if(file.Open(name,CFile::modeWrite,&excep))
{
for (int i=0;i<100;++i)
{
if(strLine[i]!=_T(""))
{
//写入每行内容
file.WriteString(strLine[i].GetBuffer(strLine[i].GetLength()));
strLine[i].ReleaseBuffer();
//写入换行符
file.WriteString(_T("\r\n"));
}
}
file.Close();
}
if(file.Open(name,CFile::modeWrite,&excep))
{
file.SetLength(0);
file.Close();
}