C语言fopen打开一个文件后,返回的值是个很大的负数,不知道是什么错误?

我在Windows系统或者linux上都没错误,但放在机顶盒系统里面去读取文件,就返回一个很大的负数,以后的读取操作也就执行不了,机顶盒死机。。。
请教下返回负数可能是什么情况呢?

fopen的返回值不是负数。。而是一个FILE指针。你如果硬要把指针转成整数,是有可能看到个负数,不过不代表任何意义。只要返回的不是0,就说明fopen函数调用成功了。如果造成死机,应该是你其他的代码有问题。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-13
fopen的返回值应该赋给一个文件指针的 指针不是数值 不能当作数值型输出的 不过如果返回的不是零 应该是成功读取了

C语言fopen打开一个文件后,返回的值是个很大的负数,不知道是什么错误...
fopen的返回值不是负数。。而是一个FILE指针。你如果硬要把指针转成整数,是有可能看到个负数,不过不代表任何意义。只要返回的不是0,就说明fopen函数调用成功了。如果造成死机,应该是你其他的代码有问题。

C语言程序打开文件乱码问题(调试正确再加50分)
二进制写入的 打开是看起来像乱码 除非你以字符串方式写入 如果要改保存函数的话 读入肯定需要重新写解析函数了 好吧 如果你不考虑载入函数需要重新解析的话 那么需要改的地方 就是fopen里的wb 改成 w 然后那些fread fwrite 都要改成 fgets fputs 或者其他文件字符操作的函数 ...

C语言文件关闭函数fclose(文件指针)疑问
假如文件是存储在硬盘上,那么所有内容是用磁化的方法写的,能掉电不丢失。你的程序将文件打开后,将其内容的第1行读入了计算机的随机存储器中(具体就是line数组)关闭文件后,文件仍然保持不变 line数组已经读到了数据,这些数据虽然等于文件的第1行,但已经与文件没有关系了,你使用和修改这些数据不会...

c语言如何判断fopen函数打开文件的操作是否成功?
看返回是否是 NULL。例如:if ( (fin = fopen(namein,"rb" )) == NULL ) { printf("Cann't open input file: %s\\n",namein); exit(1);};例如:fp = fopen("a.txt","r");if (!fp) printf("fopen a.txt error !\\n");

fopen的返回值不能是
NULL。在C语言中,fopen函数的返回值不能是NULL,fopen函数用于打开一个文件,并返回一个指向该文件的指针。如果文件打开成功,则返回一个指向该文件的指针,如果文件打开失败,则返回NULL。在调用fopen函数时,应检查其返回值是否为NULL,以确保文件已成功打开。如果返回值为NULL,则表示文件打开失败,需要...

C语言 fopen函数 读取文件出错 怎么回事
思路没有错。估计是文件名长度问题。如果你用的是早期的编译平台,文件主名不得长于8个字符,扩展名不得多于3个字符。批处理用*.dat就行啊……

C语言中fopen函数打开文件后,文件以何种方式读入内存?
C语言fopen函数用于打开文件。函数原型:FILE * fopen(const char * path,const char * mode);参数:path 字符串类型,表示文件所在的路径,包括文件名mode 打开文件的模式、返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。mode:r 以只读方式打开文件,该...

c语言fopen函数问题
fopen函数返回的是一个FILE类型的指针,如果是打开文件,文件不存在的话返回值为空,如果存在就返回指向该文件的指针,如果是新建一个文件,返回值就是新建文件的指针,可以利用该指针实现对文件的读写功能。至于判断是读还是写,是跟fopen第二个参数决定的,也就是由你自己决定。代码举例:FILE *fp;fp...

c语言fopen的问题
至少改成 if((fp = fopen("D:\\\\book\\\\data.txt","r")) == NULL)先把基本逻辑和语法学好

c语言fopen函数的用法
在C语言中,`fopen`函数用于打开文件,并返回一个文件指针供后续操作使用。其语法形式为:`FILE *fopen;`。其中,`filename`是要打开的文件名,`mode`是打开文件的模式。详细解释:1. 函数定义:`fopen`是C标准库中的一个函数,定义在头文件``中。它用于打开文件,并返回一个文件指针。2. 参数...

相似回答