C语言问题,文件中的那个的内容换行了之后怎么读?

#include<stdio.h>#include<stdlib.h>intmain(){FILE*fpin,*fpout;doublef=1,d;charstr[]="... #include<stdio.h>
#include<stdlib.h>
int main()
{
FILE*fpin,*fpout;
double f=1,d;
char str[]="thisis\nastring",str1[40],str2[256];
fpin=fopen("open.txt","w");
if(!fpin)
{
printf("打开文件失败\n");
return 0;
}
fprintf(fpin,"%s\n%lf",str,f);
fclose(fpin);
fpout=fopen("open.txt","r");
fscanf(fpout,"%s",str1);
fgets(str2,200,fpout);
fscanf(fpout,"%lf",&d);
printf("%s,%s\n%lf",str1,str2,d);
fclose(fpout);
return 0;
}
为什么总读出来乱码?
下面是对应的文件!
展开
 我来答
xoaxa
推荐于2016-07-14 · TA获得超过8610个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3467万
展开全部
//fscanf(fpin,"%s\n",str1); // 格式串中加一个'\n',否则会留给fgets()

 

#include <stdio.h>
#include <stdlib.h>

int main() {
FILE *fpin,*fpout;
double f = 1,d;
char str[] = "thisis\nastring",str1[40],str2[256];
fpout = fopen("open.txt","w");
if(!fpout) {
printf("打开文件失败\n");
return 0;
}
fprintf(fpout,"%s\n%lf\n",str,f);
fclose(fpout);

fpin = fopen("open.txt","r");
fscanf(fpin,"%s\n",str1); // 就这儿有问题
fgets(str2,200,fpin);
fscanf(fpin,"%lf",&d);
printf("%s,%s%lf\n",str1,str2,d);
fclose(fpin);
return 0;
}
百度网友121252a
2015-05-02 · 超过12用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:22.8万
展开全部
文件编码有问题,保存为UTF-8格式试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式