一个C语言格式化读文件后对其它无关变量进行了不可测修改的有关问题请问帮忙
一个C语言格式化读文件后对其它无关变量进行了不可测修改的问题请教大虾帮忙
前面的头文件什么的我就不写了
FILE *fp;
char cc;
int i;
fp=fopen( "d:\\out.txt ", "r ");
cc=getc(fp);
fscanf(fp, "%X ",&i);
putchar(cc);
输出的CC值为空格,而我认为是f
d:\out.txt内容
fff 83
我用TC2.0和WIN-TC都出错了,用TC2。0查看变量,在格式化读时无关的变量cc居然改变了,在cc给值后格式化读之前,如果加入一条无关的其它语句,结果神奇的变对了,急。。。。请教大虾
------解决方案--------------------
#include <stdio.h>
int main(void)
{
FILE *fp;
char cc;
int i;
fp=fopen( "d:\\out.txt ", "r ");
cc=getc(fp);
fscanf(fp, "%X ",&i);
putchar(cc);
system( "PAUSE ");
return 0;
}
Dec-C++ 中输出是f 貌似没什么问题,还有LZ你说在cc给值后格式化读之前,加入了一条无关的其它语句,能贴出来看看吗
------解决方案--------------------
我认为是这样的:
FILE *fp;
char cc;
int i;
fp=fopen( "d:\\out.txt ", "r "); //以只读的形式打开文件,并将流指针指向文件的首位字符
cc=getc(fp); //读取当前流指针指向的值赋给cc,并将流指针指向下一个字符
fscanf(fp, "%x ",&i); //将流指针当前指向的值读出并付给i
putchar(cc); //参数类型不对,putchar(int ch)
------解决方案--------------------
putchar(cc); //参数类型不对,putchar(int ch)
putchar(cc)是对的,在C中,char可以强制转换成int ,
前面的头文件什么的我就不写了
FILE *fp;
char cc;
int i;
fp=fopen( "d:\\out.txt ", "r ");
cc=getc(fp);
fscanf(fp, "%X ",&i);
putchar(cc);
输出的CC值为空格,而我认为是f
d:\out.txt内容
fff 83
我用TC2.0和WIN-TC都出错了,用TC2。0查看变量,在格式化读时无关的变量cc居然改变了,在cc给值后格式化读之前,如果加入一条无关的其它语句,结果神奇的变对了,急。。。。请教大虾
------解决方案--------------------
#include <stdio.h>
int main(void)
{
FILE *fp;
char cc;
int i;
fp=fopen( "d:\\out.txt ", "r ");
cc=getc(fp);
fscanf(fp, "%X ",&i);
putchar(cc);
system( "PAUSE ");
return 0;
}
Dec-C++ 中输出是f 貌似没什么问题,还有LZ你说在cc给值后格式化读之前,加入了一条无关的其它语句,能贴出来看看吗
------解决方案--------------------
我认为是这样的:
FILE *fp;
char cc;
int i;
fp=fopen( "d:\\out.txt ", "r "); //以只读的形式打开文件,并将流指针指向文件的首位字符
cc=getc(fp); //读取当前流指针指向的值赋给cc,并将流指针指向下一个字符
fscanf(fp, "%x ",&i); //将流指针当前指向的值读出并付给i
putchar(cc); //参数类型不对,putchar(int ch)
------解决方案--------------------
putchar(cc); //参数类型不对,putchar(int ch)
putchar(cc)是对的,在C中,char可以强制转换成int ,