首页 > 代码库 > <MFC>FILE的操作
<MFC>FILE的操作
从文本1中寻找关键字的位置,然后获取关键字位置下三行数值,同时写进文本2中。
先设两个字符串变量,一个用来读取行,一个用来写关键字值:
char strTemp[MAX_PATH];
char strFind[MAX_PATH];
再设两个布尔变量,一个用来判断读取行成功,一个用来判断读取关键字值位置成功:
BOOL bGetFlag,bFindFlag;
接着设两个FILE类型指针,一个指向文本1,一个指向文本2:
FILE *pFile1,*pFile2;
pFile1 = fopen("text1.txt","r");
pFile2 = fopen("text2.txt","w");
if(NULL == pFile1 || NULL == pFile2)
exit(0);
紧接将关键字填进来,
strcpy(strFind,"\"");
strcat(strFind,"test");
strcat(strFind,"\"");
最后,就是关键过程,
while(!feof(pFile1))
{
bGetFlag = (NULL != fgets(strTemp,sizeof(strTemp),pFile1))?TRUE:FALSE;
if(!bGetFlag) return;
strTemp[strlen(strTemp) - 1] = 0;
bFindFlag = (NULL != strstr(strTemp,strFind));
if(bFindFlag)
{
fputs(fgets(strTemp,sizeof(strTemp),pFile1),pFile2);
fputs(fgets(strTemp,sizeof(strTemp),pFile1),pFile2);
fputs(fgets(strTemp,sizeof(strTemp),pFile1),pFile2);
}
}
还有就是关闭FILE指针。
fclose(pFile1);
fclose(pFile2);
在VS2012上,fopen如果出现不安全,解决方法为点击项目-》属性-》C++-》预处理器->预处理器定义,_CRT_SECURE_NO_WARNINGS.