为什么这段从文本文件中读取的C语言程序总是读不出文本内的文字?

#include<stdio.h>

int main(){

//两个参数,"打开的文件名","读取"
FILE* file = fopen("numbers.txt","r");

int a;
//从文件中读出一个数字赋值给a
fscanf(file,"%d",&a);
printf("a=%d",a);

int b;
fscanf(file,"%d",&b);
printf("b=%d",b);
}
是我哪里写错了吗?还是文件的放置问题有误?

txt文件放在跟cpp同一个文件夹里面
但是输出的结果都不是txt文件里面所含有的内容

#include<stdio.h>

int main(){

//两个参数,"打开的文件名","读取"
FILE* file = fopen("numbers.txt","r");

int a;
if ( file==NULL ) //加上这个检查,你就可以确定是不是文件成功打开了。
{
printf("open file error\n" );
return -1;
}
//从文件中读出一个数字赋值给a
fscanf(file,"%d",&a);
printf("a=%d",a); //如果这里的输出与文件中的数据不同,请提供一下文件中的内容,这里a只能是一个整数才可以读到。

int b;
fscanf(file,"%d",&b);
printf("b=%d",b);
}追问

我试了试,文件打开错误。要怎么结局呢?

追答

检查一下你的文件名,是不是多写了一个.txt?
方法:
进入cmd(dos黑框)下
cd 到你的程序所在文件夹下
dir numbers*
看一下显示的是什么

追问

我看到了,知道为什么错了。谢谢你
真的是多了后缀名numbers.txt.txt

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-09
你是不是文件名错了?
有可能多打了.num扩展名
用if(file==0){ system("pause"); }
判断一下追问

我很认真的校对了一下,真的没有打错...但我也不知道为什么就打开错误了

追答

用FILE* file = fopen("numbers.txt","w");

fprintf(file,"%d %d",2,3);
生成文件,再用你的程序读入

追问

谢谢你,找到问题了。

追答

其实我刚开始就想说扩展名(手抖打成.num),结果你说校对过了。。。

真心无语。。。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网