dt3tc 发表于 2018-4-21 14:37:54

fputs() 报错

本帖最后由 dt3tc 于 2018-4-22 08:45 编辑

fputs() 报错,用perror 打印出错信息 翻译过来 是 "坏的文件描述符",但是我只用了一个文件描述符而且在调用fputs() 以前顺利关闭了.
fputs()是通过 文件指针定位 文件的
源代码如下,谢谢.
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#define filename "./a1.txt"

int main(void){

                int fd=0;
                fd=open(filename,O_RDWR|O_CREAT,0755);
                if(fd==-1){
                        perror("fd,open,filename");
                        return 0;
                }

                if(close(fd)==-1){
                        perror("close,fd");
                        return 0;
                }

                char a="hello";

                FILE *fp=NULL;
                fp=fopen(filename,"r");
                if(fp==NULL){
                        perror("fp,fopen,filename");
                        return 0;
                }

                if(fputs(a,fp)==-1){
                        perror("fputs,a,fp");
                        return 0;
                }
                                               
                if(fclose(fp)==-1){
                        perror("fclose,fp");
                        return 0;
                }
                return 0;
}

dt3tc 发表于 2018-4-22 08:29:11

解决了,应以"r+"参数 调用 fopen(), 谢谢

段坤11 发表于 2018-4-22 20:44:35

学习学习

独吟月上 发表于 2018-7-9 14:07:33

学习了谢谢

xy123963 发表于 2018-7-9 15:05:25

{:5_106:}
页: [1]
查看完整版本: fputs() 报错