重复调用fwrite写txt文本出现乱码

代码——报警等内容就不写了
环境linux
vim编辑器

  • ```

#include
int main (int argc,char *argv[])
{
FILE *fp,*fp2;
if((fp=fopen(argv[1],"w+"))==NULL)
{
printf("error:can not open the file %s\n",argv[2]);
}
char buff[90];
char *txthead = "[Main]\nDataItemCount = 1500\n\n";
char *txtfollow = "[Main]\nDataItemCount = 1500\n\n";
fread(buff,1,90,fp);
pintf("%s\n",buff);
fwrite(txthead,1,35,fp);
fwrite(txtfollow,1,35,fp);
fclose(fp);
return 0;
}

```
而且fread也没能读取文本全部内容

1、w+打开文件直接就清空了,怎么读得到数据。
2、fwrite写数据,压根就没有35个字节的长度,还要按照35写进入肯定乱码了,要计算实际写入的数据长度。

运行后会出现部分乱码,怀疑是txt文本读出时,处理/0导致的