黑马程序员技术交流社区

标题: fgets和fputs [打印本页]

作者: 一步步往上爬    时间: 2016-1-13 13:29
标题: fgets和fputs
puts 输出字符串
gets 输入字符串
fputs 输出到文件的字符串
fgets 从文件输入的字符串
fputs:专门写入字符串到文件的
fputs(字符串首地址,文件指针);
只能写字符串,你给我什么字符串,我就写入什么字符串到文件指针指向的文件
fgets:专门从文件读取字符串的
fgets(数组首地址,n,文件指针);
作用:去文件指针所指向的文件读取n-1个字节的内容,并且在最后自动加\0,保存到数组里
特点:如果fgets会尽力去读取你想要的n-1个字节,但是如果有遇到换行,那么会立即结束读取
可以理解为:按行读取
例子:
#include <stdio.h>
int main(int argc, const char * argv[]) {
   //fputs
   /*
   FILE *fp = fopen("/Users/mac/Desktop/11.txt", "w");

    if (fp) {

        char str[]="好好好好好好好红好红啊红好";

        fputs(str, fp);

        fclose(fp);

    }

     */

    //fgets  但是如果有遇到换行,那么会立即结束读取

    /*

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

    if (fp) {

        char str[100];

        fgets(str,99, fp);

        puts(str);

        fclose(fp);

    }

     */

    //用fgets循环读取直到文件

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

    if (fp) {

        while (1) {

            char str[100];

            fgets(str, 100, fp);

            puts(str);

            if (feof(fp)) {

                break;

            }

        }

        fclose(fp);

    }

    return 0;
}


作者: 红凉梦    时间: 2016-1-13 19:00
棒棒哒。加油




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