
C语言中的文件写函数"fwrite"的问题
我的目的是在G根目录下新建一个文本文件666.txt,然后再把内容"abc"写入该文件中,我用C写下的代码如下:#include"stdio.h"main(){chara...
我的目的是在G根目录下新建一个文本文件666.txt,然后再把内容"abc"写入该文件中,我用C写下的代码如下:
#include "stdio.h"
main()
{
char a[3]="abc";
FILE*fp;
fp=fopen("G:\\666.txt","w");
fwrite(&a,strlen(a),1,fp);
fclose(fp);
}
这样的代码运行结果是已经新建了一个文本文件666.txt,可是写入的内容却是 "abcr???",请各位高手朋友指点一下,大家可以把这些代码编译看看,就知道是我说的这个结果了,请问这是怎么回事?正确的代码应该是怎样的呢? 展开
#include "stdio.h"
main()
{
char a[3]="abc";
FILE*fp;
fp=fopen("G:\\666.txt","w");
fwrite(&a,strlen(a),1,fp);
fclose(fp);
}
这样的代码运行结果是已经新建了一个文本文件666.txt,可是写入的内容却是 "abcr???",请各位高手朋友指点一下,大家可以把这些代码编译看看,就知道是我说的这个结果了,请问这是怎么回事?正确的代码应该是怎样的呢? 展开
展开全部
改一下就好了。主要原因是数组没有结束符。
#include "stdio.h"
main()
{
char a[4]="abc"; /*将数组加一个元素*/
FILE*fp;
a[3]='\0'; /*增加一个结束符*/
fp=fopen("G:\\666.txt","w");
fwrite(&a,strlen(a),1,fp);
fclose(fp);
}
#include "stdio.h"
main()
{
char a[4]="abc"; /*将数组加一个元素*/
FILE*fp;
a[3]='\0'; /*增加一个结束符*/
fp=fopen("G:\\666.txt","w");
fwrite(&a,strlen(a),1,fp);
fclose(fp);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询