c 语言不能打开文件 (c语言程序里打不了字)
本文目录导航:
c 语言不能打开文件
1.你的文件是创建成功的,并且是可以打开的,你可以使用VC6.0或VS2005调试跟踪就可以看到2.但是你程序有错误,不是说你的程序编译不过,而是你的程序逻辑有错误,可以看到的一点就是你的Write函数void write(){ /*保存数据*/p1=head->next;while(p1!=NULL){fprintf(fp, %s,p1->name);fprintf(fp, %s,p1->number);fprintf(fp, %s\n,p1->address);p1=p1->next;} 请问你的head->next哪里赋值了?使用VC6.0跟踪的时候明显看到其地址仍然是空的,所以你的这个操作就错误了,所以当程序要执行Write函数就会出错3.你想往你的链表里添加节点信息,但是你得到的不是你想的结果,请看你的while(1)语句;4.你搜索一下相关的C语言链表操作代码学习下吧;5.当你熟悉了链表操作再使用文件操作吧,那样你遇到的问题就少点,一步一步来,这样进步就快点。

c语言打开文件,总是can not open this file 这问题你是怎么解决的,你之前问过
首先把错误码对应的错误信息打印出来便于分析,一般情况下打开文件后首先都必须要对打开文件结果进行判断是否打开成功,成功后才继续下面的操作,失败了就采用该函数strerror(errno),打印出错信息。
很多情况下是因为文件不存在、程序打开文件后没有关闭造成。
关于c语言的文件操作
int rfp;rfp = open(filename, 1);//打开文件名为filename的文件lseek(rfp, 127, SEEK_SET); //将该文件读写位置设置为127(即第128个字节)write(rfp, one_str, 26);//往该文件的当前位置写入one_str数组的前26个字节函数原型:int open(const char *path, int access,int mode);作用:以各种方式打开文件返回值:返回打开的文件句柄,-1 打开失败输入参数说明:path 要打开的文件路径和名称 access 访问模式,宏定义和含义如下:O_RDONLY1 只读打开 O_WRONLY2 只写打开O_RDWR4 读写打开函数原型:long lseek(int handle,long offset,int fromwhere)功能:把文件指针移动到fromwhere所指的地址加上offset新位置的偏移上。
参数:handle=open()函数的返回值(文件句柄);fromwhere=文件位置SEEK_SET(0)从文件头位置;SEEK_CUR(1)从当前文件指针位置;SEEK_END(2)从文件结尾位置)函数原型:int write(int handle,char *buf,unsigned len) 用法:write(文件句柄,缓冲区地址,缓冲区字节长度<最大>); 功能:将缓冲区的数据写入与handle相联的文件或设备中,handle是从creat、open、dup或dup2调用中得到的文件句柄。
对于磁盘或磁盘文件,写操作从当前文件指针处开始,对于用O_APPEND选项打开的文件,写数据之前,文件指针指向EOF;对于设备,字节被直接传送到设备中; 返回值:实际写入的字节数(不包括回车符),出错时返回-1。