读书人

fwrite同fread的有关问题

发布时间: 2012-03-23 12:06:21 作者: rapoo

fwrite同fread的问题,急
为什么每次写入的时候,都会先把原有内容重复写一次,然后才追加上新添加的内容。
例如,原先是 更成功1
运行程序后就是 更成功1
更成功1
更成功
这是为什么阿?代码如下。(如果把读文件那一句去掉就没有问题了,为什么阿)


fp = fopen( "/tmp/Ryuu/input/text ", "a+ ");
stat( "/tmp/Ryuu/input/text ", &stbuf);
size = stbuf.st_size;

buf = (unsigned char *)malloc((size_t)size);
printf( "%d\n ", size);
fread(buf, sizeof(char), size, fp);
free(buf);

memset(henkou, 0x00, sizeof(henkou));
strcpy( henkou, "更成功\n ");
printf( "入力内容 = %s \n ", henkou);

fwrite(henkou, sizeof(char), 10, fp);

fflush(fp);
fclose(fp);

[解决办法]
fwrite(henkou, sizeof(char), 10, fp);
fflush(fp);
————————————————————
fflush(fp);
fwrite(henkou, sizeof(char), 10, fp);

读书人网 >C语言

热点推荐