关于文件的问题! 急

来源:百度知道 编辑:UC知道 时间:2024/05/27 02:24:28
关于C的文件问题,我打开一个文件读取数据,为什么打印出来的结果,是一个小写的y上面有两点啊,请高手指点应该怎么读取,我用了”r”了还是不行?!

ASCII码为255(十六进制0x0FF)的字符号就是你说的y上面有两点的那个字符,发生这种情况的原因可能是你用来接收从文件中读取的数据的缓冲区没有正常地读取到文件的内容.我贴一个我以前写的读写文件的例子,你自己参考参考...

/*C语言使用文件的例子*/
#include <stdio.h>

/*文件的访问可以使用二进制的形式访问,也
可以使用文本方式访问,在C中,是依靠打开
文件时的参数来确定的,以二进制方式访问
的文件在以记事本等方式打开时看到的可能
是乱码,具体的操作如下:*/

/*功能:以文本方式生成一个文件,将"50 100 150"等数字输出到文件中
输入:无
输出:无
返回:无
*/
void write_TXT_file(void)
{
/*定义想输出的文件名*/
const char * pFileName="c:\\aa.txt";
/*定义输出到文件的数据*/
int num1=50,num2=100,num3=150;
/*定义文件指针*/
FILE * pFile;

/*以文本方式打开文件用于输出*/
pFile=fopen(pFileName,"wt");

/*判断打开文件成功否*/
if ( NULL == pFile )
{
perror("打开文件失败");
return;
}

/*以文本方式输出到文件*/
fprintf(pFile,"%d\n%d %d",num1,num2,num3);
/*检验写文件是否成功*/
if ( ferror(pFile) )
{
perror("写文件失败")