2.3 C语言中的IO操作

文件IO:
                size_t  ->  typedef unsigned int size_t
                
                FILE * fopen(const char * filename, const char *mode);失败返回NULL
                  mode 的合法取值  
                  "r"        读方式打开
                  "w"        创建文本用于写,存在则清空
                  "a"        追加方式打开,没有文件会创建
                  "r+"        读写方式打开
                  "w+"        创建文本用于读写,存在则清空
                  "a+"        追加;没有则创建文件
                  后面加b表示对文件进行的是二进制操作
                  
                FILE *freopen(const char *filename, const char *mode , FILE *stream);
                  以mode方式打开文件,并关联到stream指定的流,一般关联到stdin,stdout,stderr
                
                int fflush(FILE *stream);  清洗所有的输出流
                
                int fclose(FILE *stream);
                  将缓存写入到流,然后关闭流,成功放回0,出错放回EOF
                
                int remove(const char *filename);  删除文件,成功放回0
                
                int rename(const char *oldname, const char *newname);
                  文件重命名。失败放回非0值
                
                FILE *tmpfile(void);
                  以"wb+"方式创建一个临时文件,该文件在程序结束时自动删除,失败放回NULL
                
                char *tmpnam(char s[L_tmpnam]);
                  生成一个文件名,但不生成文件,感觉没什么卵用
                  
                int setvbuf(FILE *stream, char *buf, int mode, size_t size);
                  控制流的缓冲,mode的合法取值_IOFBF,_IOLBF,_IONBF.
                  buf为NULL时自动分配缓冲区,size为缓冲区大小,成功放回0
                  
                void setbuf(FILE *stream , char *buf);
                  设置流缓冲,但buf为NULL时关闭流的缓冲。
                  
              标准IO和字符串IO:
                stdin, stdout和stderr,分别是标准输入,标准输出,标准错误输出。
                int fprintf(FILE *stream ,const char *format, ...);  格式化输出
                int sprintf(char *s, const char *format, ...);  格式化输出到字符串
                int fsconf(FILE *stream ,const char *format, ...);  格式化输入
                int ssconf(const char *s, const char *format, ...);  格式化输入到字符串
                
                int fgetc(FILE *stream);  从流中读取一个字符,到文件未或错误放回EOF
                int getc(FILE *stream);          等价于fgetc(),但有一点点不同,getc定义宏..
                char *fgets(char *s, int n, FILE *stream);
                
                int fputc(int c, FILE *stream);  输出一个字符到流
                int putc(int c, FILE *stream);   等价于fputc(),但有一点点不同,putc定义宏..
                int fputs(const char *s, FILE *stream);
                
                int getchar(void);   getchar()  =   getc(stdin);
                char *gets(char *s);  不安全的,已不被使用。
                int putchar(int c);  puchar(c)  =   putc(c,stdout);
                int puts(const char *s);
                int ungetc(int c, FILE *stream);
                
                size_t fread(void *ptr, size_t size, size_t nobj, FILE *stream);
                size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *stream);
                int fseek(FILE *stream, long offset, int origin);  
                    设置流的文件位置,成功放回0
                long ftell(FILE *stream);
                    放回流的当前文件位置,出错放回-1L
                void rewind(FILE *stream);    相当于fseek(stream, 0L, SEEK_SET);
                int fgetpos(FILE *stream, fpos_t *ptr);            保存流的位置到ptr,成功放回0
                int fsetpos(FILE *stream, const fpos_t *ptr);    设置流的位置到ptr,成功放回0
                

猜你喜欢

转载自blog.csdn.net/u013845608/article/details/85618116
2.3