#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);
}追问
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"); }
判断一下追问
有可能多打了.num扩展名
用if(file==0){ system("pause"); }
判断一下追问
我很认真的校对了一下,真的没有打错...但我也不知道为什么就打开错误了
追答用FILE* file = fopen("numbers.txt","w");
fprintf(file,"%d %d",2,3);
生成文件,再用你的程序读入
谢谢你,找到问题了。
追答其实我刚开始就想说扩展名(手抖打成.num),结果你说校对过了。。。
真心无语。。。