原因就是出在返回值要能表示-1.unsigned char表示无符号的,而这返回值,需要是-1才可以表示文件读到末尾了,那可以char类型表示-1,但是-1在char类型中表示的值为0xff,然而它本身就是一个字节的内 容,如果文件中的一个字节是0xff,难道就认为文件结束,这是不合理的,用int作返回值,就不会出现这个问题,-1用int...
应改为 fp=fopen("D:\\1.TXT","r");
fopen打开二进制文件需使用参数“rb” "wb"fin=fopen("d:\\98.dat","rb");你是按文本方式打开的文件,读到“0x1a”, fgetc确实会返回-1。 这个原因我也没想明白。不过读二进制文件就按二进制方式打开文件,就不会出错。补充:关于读到0x1A的问题,我找到一些说法,好像并没有完美解决,只能...
int fputc (int c, File *fp); 1. 功能 将字符c写入到fp流中 返回值 写入成功:返回写入文件的字符的ASCII码值 写入失败:返回EOF(-1) 当正确写入一个字符的数据后,文件内部写指针会自动后移一个字节的位置 int fgetc(FILE *stream); 1. 功能 从参数流中读取一个字符 返回值 读取成功:返回所读取的一个...
2227 1 13:35:49 App MySQL技术之基础--尚硅谷-宋红康 2887 -- 6:55:16 App ASP.Net技术之C#基础--杨中科-2010 浏览方式(推荐使用) 哔哩哔哩 你感兴趣的视频都在B站 打开 信息网络传播视听节目许可证:0910417 网络文化经营许可证 沪网文【2019】3804-274号 广播电视节目制作经营许可证:(沪)字第01248号...
exit(1); } while((c = fgetc(fp)) != EOF) printf("%c", c); fclose(fp); } 三.猜你喜欢 C 语言 数组下标越界和内存溢出区别 C 语言 使用指针遍历数组 C 语言 指针和数组区别 C 语言 指针数组和数组指针区别 C 语言 野指针 C 语言 函数值传递和址传递 ...
从流中读取字符,并将其作为C字符串存储到 str 中,直到读取 (num-1) 个字符,或者到达换行符或文件结束符,以先发生的为准 换行符使 fgets 停止读取,但它被函数认为是一个有效字符,并包含在复制到 str 的字符串中。 在复制到 str 的字符之后,将自动追加一个终止 null 字符。
1、字符读取函数 fgetc fgetc 是 file get char 的缩写,意思是从指定的文件中读取一个字符。它的原型为:int fgetc (FILE *fp); fp 为文件指针。fgetc() 读取成功时返回读取到的字符,读取到文件末尾或读取失败时返回EOF。 EOF 是 end of file 的缩写,表示文件末尾,是在 stdio.h 中定义的宏,它的值是一个...
fgets: 从文件中每次读入一行。 函数原型 char * fgets(char *str,int n,FILE *fp),str是存放将要读入字符型数据的存放地址,n是数目变量,fp是文件指针。 该函数表明从文件fp中读入n-1个字符放在以str为起始地址的空间,因为系统会在最后加上一个‘\0’
getc、fgetc用法相同。 getc的调用形式:ch=getc(fp);此处的fp是文件指针;函数功能是从文件指针指向的文件读入一个字符,并把它作为函数值返回给字符型变量ch。 本回答由提问者推荐 举报| 答案纠错 | 评论(2) 75 1 liupengfeics 采纳率:25% 擅长: C/C++ 数据库DB 恋爱 ...