C fread函数多读入的问题
#include<cstring>#include<cstdio>usingnamespacestd;chars[20000000];intmain(){freopen(...
#include<cstring>
#include<cstdio>
using namespace std;
char s[20000000];
int main(){
freopen("data.in","r",stdin); freopen("data.out","w",stdout);
fread(s,1,20000000,stdin);
fwrite(s,1,strlen(s),stdout);
fclose(stdin); fclose(stdout);
return 0;
}
为什么我data.in里面是
1 2
2 3
3 4
data.out输出
1 2
2 3
3 4
4
多输出了一个,求解是什么情况?? 展开
#include<cstdio>
using namespace std;
char s[20000000];
int main(){
freopen("data.in","r",stdin); freopen("data.out","w",stdout);
fread(s,1,20000000,stdin);
fwrite(s,1,strlen(s),stdout);
fclose(stdin); fclose(stdout);
return 0;
}
为什么我data.in里面是
1 2
2 3
3 4
data.out输出
1 2
2 3
3 4
4
多输出了一个,求解是什么情况?? 展开
2个回答
展开全部
我感觉你的代码没有问题,不过我建议你这样写:
int main(){
int len;
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
len = fread(s,1,20000000,stdin); //获取读入数据的长度
fwrite(s,1,len,stdout); //按照读入的长度进行输出
fclose(stdin); fclose(stdout);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询