初识C语言 fput,fgetc,fputs,fgets,fread,fwrite

 1 fputc()
 2     int fputc(int char, FILE *stream);
 3     //把参数 char 指定的字符(一个无符号字符)写入到指定的流 stream中,
 4     //并把位置标识符往前移动
 5     //char -- 这是要被写入的字符。该字符以其对应的 int 值进行传递。
 6     //stream -- 这是指向 FILE 对象的指针,该 FILE 对象标识了要被写入字符的流。
 7 
 8 fgetc()
 9     int fgetc(FILE* fp);     
10     //从fp所指的文件中获取下一个字符,出错返回EOF,
11     //否则返回所读的字符
12 
13 fputs()
14     int fputs(char *s, FILE *stream);
15     //         s---写入的字符串     strteam---文件指针
16     // 如果写入成功,则返回非0,此时编译器默认为返回1
17     // 如果写入错误,则返回EOF
18     
19 fgets()
20     char *fgets(char *buf, int bufsize, FILE *stream);
21     // *buf: 字符型指针,指向用来存储所得数据的地址。
22     // bufsize: 整型数据,指明存储数据的大小。
23     // *stream: 文件结构体指针,将要读取的文件流。
24 
25 fread()
26     size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
27     // ptr -- 这是指向带有最小尺寸 size*nmemb 字节的内存块的指针。
28     // size -- 这是要读取的每个元素的大小,以字节为单位。
29     // nmemb -- 这是元素的个数,每个元素的大小为 size 字节。
30     // stream -- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输入流。
31 //-------------------------------------------------------------------------
32         #include <stdio.h>
33         #include <string.h>
34          
35         int main()
36         {
37            FILE *fp;
38            char c[] = "This is runoob";
39            char buffer[20];
40          
41            /* 打开文件用于读写 */
42            fp = fopen("file.txt", "w+");
43          
44            /* 写入数据到文件 */
45            fwrite(c, strlen(c) + 1, 1, fp);
46          
47            /* 查找文件的开头 */
48            fseek(fp, SEEK_SET, 0);
49          
50            /* 读取并显示数据 */
51            fread(buffer, strlen(c)+1, 1, fp);
52            printf("%s\n", buffer);
53            fclose(fp);
54            
55            return(0);
56         }
57 //---------------------------------------------------------------------
58 
59 fwrite()
60     size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
61     // 向指定的文件中写入若干数据块,如成功执行则返回实际写入的数据块数目。
62     // 该函数以二进制形式对文件进行操作,不局限于文本文件
63     //返回值:返回实际写入的数据块数目
64     // buffer:是一个指针,对fwrite来说,是要获取数据的地址;
65     // size:要写入内容的单字节数;
66     // count:要进行写入size字节的数据项的个数;
67     // stream:目标文件指针;
68     // 返回实际写入的数据项个数count。
69     
70 
71 fprintf()
72     int fprintf(FILE *stream, const char *format, ...) 
73     // 传送格式化输出到一个文件中  
74     // stream -- 这是指向 FILE 对象的指针,该 FILE 对象标识了流。
75     /* format -- 这是 C 字符串,包含了要被写入到流 stream 中的文本。
76       ... 它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,
77       ... 并按需求进行格式化。format 标签属性是 %[flags][width][.precision][length]specifier    */
78     
79 
80 fscanf()    
81     int fscanf(FILE *stream, const char *format, ...)
82     // stream -- 这是指向 FILE 对象的指针,该 FILE 对象标识了流。
83     // format -- 这是 C 字符串,包含了以下各项中的一个或多个:空格字符、非空格字符 和 format 说明符。
84     // format 说明符形式为 [=%[*][width][modifiers]type=]

 

posted @ 2018-09-12 16:38  帝yi  阅读(1794)  评论(0编辑  收藏  举报