黑马程序员技术交流社区

标题: fgetc和fputc [打印本页]

作者: 一步步往上爬    时间: 2016-1-13 13:26
标题: fgetc和fputc
fgetc: 从文件读取1个字符

int fgetc(文件指针);

语义:读取文件指针所指向的内容,读取一个字节,返回的是这个字节的ASCII数字值
EOF:就是文件读取到末尾的标志
注意:用fgetc来循环读取整个文件的话,不要用feof,否则会把EOF打印出来

fputc: 写入一个字符到文件
fputc(要写入的字符,文件指针);

语义:把要写入的字符写入到文件指针指向的文件

例子:
#include <stdio.h>

#include <string.h>

int main(int argc, const char * argv[]) {

    FILE *fp = fopen("/Users/mac/Desktop/11.txt", "w");

    //fgetc

    //简单的一个个的读取字符

    /*

    if (fp) {

        char ch = fgetc(fp);

        printf("%c\n",ch);

        ch = fgetc(fp);

        printf("%c\n",ch);

        ch = fgetc(fp);

        printf("%c\n",ch);

        ch = fgetc(fp);

        printf("%c",ch);

        ch = fgetc(fp);

        printf("%c\n",ch);

        ch = fgetc(fp);

        printf("%c\n",ch);

        ch = fgetc(fp);

        printf("%c\n",ch);

        fclose(fp);

    }

     */

     //用循环读取全部的字节

    /*

    if (fp) {

        while (1) {

            char ch = fgetc(fp);

            //判断它如果到EOF了就代表是读到文件末尾了,就不需要循环继续读了

            if (ch == EOF) {

                break;

            }

             //注意:用fgetc来读取文件内容的话,一定不能用feof函数了

            printf("%c\n",ch);

        }

      
        fclose(fp);

    }

     */

    //fputc

    //写一个字符到文件

    /*

    if (fp) {

        fputc('z', fp);

        fclose(fp);

    }

     */

    //写字符串到文件

    /*

    if (fp) {

        char str[]="abchdsfhdkjhk";

        long len = strlen(str);

        for (int i = 0; i < len; i++) {

            fputc(str[i], fp);

        }

        fclose(fp);

    }

     */

    if (fp) {

        char str[]="哈哈呵呵好久啊纠结啊叫啊";

        long len = strlen(str);

        for (int i = 0; i < len; i++) {

            fputc(str[i], fp);

        }

        fclose(fp);

    }

    return 0;

}


作者: sunshine429    时间: 2016-1-13 23:54
学习学习,~~
作者: Mr.wang    时间: 2016-1-14 14:03
23333333333333333333




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2