VC++6.0下面那段代码就读一个数怎么出乱码了

  int y;
FILE* fp8=fopen("E://dataoutput7.txt","r");
fprintf(fp8,"%d ",&y);
fclose(fp8);
    TXT文件中就一个数字7,用这段代码怎么读出乱码了,求解决

目的应该是读取文件内的数据吧
char buffer[max_size];
fread(buffer,size,count,fp8);
然后再从BUFFER中取你想要的数据

你是文本读出的,先把数据存到字符数组,然后在atoi转换回数字

char ch[10];
fprintf(fp8,"%s ",&ch);
int y = atoi(ch, 16);

char ch[10];
fprintf(fp8,"%s ",&ch);
int y = atoi(ch, 10);

very sorry 看错了不好意思
是将你的内容格式化写到文件中

我估计打开文件方式 错了哈
FILE* fp8=fopen("E://dataoutput7.txt","r");

“r"只读 改成‘w’试试

int y =10;
FILE* fp8=fopen("d://dataoutput7.txt","w");
fprintf(fp8,"%d ",y);
fclose(fp8);

你是文本读出的,先把数据存到字符数组,然后在atoi转换回数字

int y;
FILE* fp8=fopen("E://dataoutput7.txt","r");
fprintf(fp8,"%d ",&y);//明显有错误啊,亲,基本函数用法要注意啊,应该是fprintf(fp8,"%d",y);
fclose(fp8);

读数据是fscanf吧,写数据才是fprintf。你这也太......

你的y没有赋初值,所以我当你是要读。既然读的话,fprintf肯定是不对的,应该是fscanf

int y;
FILE* fp8=fopen("E://dataoutput7.txt","r");
fscan(fp8,"%d ",&y);
fclose(fp8);

这里要注意的,你是按整数方式读取的,并不是按字符串方式读取的,因此如果你的txt文件可以看到文本的内容,那么你应该按字符串方式读取

以读的方式打开文件,但是为什么是往里面写数据呢?

fprintf(fp8,"%d ",&y); 你这个是往txt文件里面写,但是你的txt是以只读方式打开,写不进去吧,
如果要读,就用fread吧

改成 fscanf (fp8,"%d",&y); 没问题可以读出来。