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???",请各位高手朋友指点一下,大家可以把这些代码编译看看,就知道是我说的这个结果了,请问这是怎么回事?正确的代码应该是怎样的呢?
展开
 我来答
陈冠钢
2006-09-13 · TA获得超过274个赞
知道小有建树答主
回答量:269
采纳率:87%
帮助的人:241万
展开全部
改一下就好了。主要原因是数组没有结束符。
#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);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式