这是我写的一个vc++的源程序,希望它把一个字符串写入一个txt文件中,然后再从文件中读出。然后出问题了…

源程序:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>intmain(){F... 源程序:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
int main ()
{
FILE *fp;
char str[20],str1[5];
scanf("%s",str);

if((fp=fopen("C:\\Documents and Settings\\Administrator\\桌面\\学生资料.txt","r+"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}

fputs(str,fp);
fgets(str1,6,fp);
printf("%s",str1);
fclose(fp);
getch();
return 0;
}
比如我输出zhang,然后文件里的确是输入了zhang,可是vc的那个黑色窗口输出的却是“烫烫烫烫zhang”,无语。如图。
展开
 我来答
符文工房DS
2012-05-15
知道答主
回答量:10
采纳率:0%
帮助的人:11.5万
展开全部
fputs(str,fp);
rewind(fp);
fgets(str1,6,fp);
rewind(fp)是使文件乎贺中的指针重新指向文件首位置,你没写的亏猛话造成fgets(str1,6,fp);度的是你输入文件zhang后面的东西,自然是销顷桥乱码,而且zhang一共有5个字符,所以str1应大小应大于5,留一存'\0'有就是str1[6]
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式