<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.

 

posted @ 2014-06-15 23:36  伍锋  阅读(742)  评论(0编辑  收藏  举报