读写文本文件

fgets读取字符串

原型:char *fgets(char *buf, int bufsize, FILE *stream);

用法:#include <stdio.h>

功能:从stream中读取数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'\0')

说明:如果文件中的该行,不足bufsize个字符,则读完该行就结束。如若该行(包括最后一个换行符)的字符数超过bufsize-1,
则fgets只返回一个不完整的行,但是,缓冲区总是以NULL字符结尾,对fgets的下一次调用会继续读该行。

fputs写入字符串

原型:int fputs(const char *str, FILE *stream)

用法:#include <stdio.h>

功能:向指定的文件写入一个字符串(不自动写入字符串结束标记符‘\0’)

说明:成功写入一个字符串后,文件的位置指针会自动后移,函数返回值为非负整数;否则返回EOF(符号常量,其值为-1)。

例程

#include<stdio.h>
#include<stdlib.h>

void main(){

    //文件路径
    char* path = "D:\\test.txt";
    char* path_new = "D:\\test_new.txt";

    //打开文件,返回文件的指针
    FILE* f_read = fopen(path, "r");
    FILE* f_write = fopen(path_new, "w");

    //文件是否成功打开
    if (f_read == NULL || f_write == NULL){
        printf("文件打开失败");
        return;
    }

    //读取文件
    char buff[50];//缓冲区
    while (fgets(buff, 50, f_read)){
        //写文件
        fputs(buff, f_write);
    }

    //关闭文件
    fclose(f_read);
    fclose(f_write);

    system("pause");
}

results matching ""

    No results matching ""