- 论坛徽章:
- 3
|
无聊,把代码格式化了一下,一下子就看到一个BUG了
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define txtfile "test"
int main()
{
FILE *fp, *fp2; char tmp[200];char *line; size_t len; int ret;
//read content form txtfile;
fp=fopen(txtfile,"r");
if(fp == NULL)
{
perror(txtfile);
exit(EXIT_FAILURE);
}
while ((read = getline(&line, &len, fp)) != -1)
{
if(line=="\n")
{
continue;
}
if(strstr(line,"name=apple"))
{
strcat(tmp,"name=banana");
}
else
{
strcat(tmp,line);
}
strcat(tmp,"\n");
}
fclose(fp);
//write content from tmp back to txtfile;
fp2 = fopen(txtfile, "w");
if(fp == NULL)——fp2???
{
perror(txtfile);
exit(EXIT_FAILURE);
}
ret=fputs(tmp,fp);
if(ret <0||ret==EOF)
{
printf("Write error!\n");
}
fclose(fp2);
return 0;
} |
|
|