C 文件操作

//以字符的方式读取文件

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

int main(){
    FILE *pf;
    char path[100]="C:\\Users\\lin\\Desktop\\dict.txt";
    pf=fopen(path,"r");
    if(pf==NULL){
        printf("打开失败"); 
    }else{
        while(!feof(pf)){//判断是否到文件结尾, feof返回0表示未到结尾 
            char ch=fgetc(pf);//从pf读取一个字符 
            putchar(ch);//输出字符 
        }
        fclose(pf);
    }

    return 0;
}

这里写图片描述
这里写图片描述

//以行的方式读取文件

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

int main(){
    FILE *pf;
    char path[100]="C:\\Users\\lin\\Desktop\\dict.txt";
    pf=fopen(path,"r");
    if(pf==NULL){
        printf("打开失败"); 
    }else{
        char str[200]={0};
        /*
        第一个参数:字符串首地址
        第二个参数:最大长度
        第三个参数:文件指针 
        */
        fgets(str,200,pf); 

        puts(str);//输出字符串到屏幕

        fclose(pf); 
    }

    return 0;
}

这里写图片描述

//以行的方式写入文件

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

#include<string.h>
int main(){
    FILE *pfr;
    FILE *pfw;
    char pathr[100]="C:\\Users\\lin\\Desktop\\dict.txt";
    char pathw[100]="C:\\Users\\lin\\Desktop\\fileForWrite.txt";
    pfr=fopen(pathr,"r");
    pfw=fopen(pathw,"w");
    if(pfr==NULL){
        printf("读取打开失败"); 
        return -1;
    }
    if(pfw==NULL){
        printf("写入文件打开失败");
        return -1;
    }

    char str[200]={0};
    /*
        fget函数 
        第一个参数:字符串首地址
        第二个参数:最大长度
        第三个参数:文件指针 
    */
    char name[10]="water";

    while(fgets(str,200,pfr)){//每次读取一行。读取成功,返回非0 ;读取失败,返回0          
        puts(str);

        fputs(str,pfw);
    }

    fclose(pfr); 
    fclose(pfw);

    return 0;
}

//以字符的方式输出文件

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

int main(){
    FILE *rFile;
    FILE *wFile;
    char rPath[100]="C:\\Users\\lin\\Desktop\\dict.txt";
    char wPath[100]="C:\\Users\\lin\\Desktop\\fileForWrite.txt";

    rFile=fopen(rPath,"r");
    wFile=fopen(wPath,"w");
    if(rFile==NULL){
        printf("打开失败"); 
        return -1;
    }
    if(wFile==NULL){
        printf("打开失败"); 
        return -1;
    }
    while(!feof(rFile)){//判断是否到文件结尾, feof返回0表示未到结尾 
        char ch=fgetc(rFile);//从rFile读取一个字符 
        putchar(ch);//输出字符 

        fputc(ch,wFile);//向fileForWrite文件写入一个字符 
    }
    fclose(rFile);
    fclose(wFile);

    return 0;
}

//文件检索

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

#include<string.h>
int main(){
    FILE *pf;
    char path[100]="C:\\Users\\lin\\Desktop\\dict.txt";
    pf=fopen(path,"r");
    if(pf==NULL){
        printf("打开失败"); 
    }else{
        char str[200]={0};
        /*
        fget函数 
        第一个参数:字符串首地址
        第二个参数:最大长度
        第三个参数:文件指针 
        */
        char name[10]="water";

        while(fgets(str,200,pf)){//每次读取一行。读取成功,返回非0 ;读取失败,返回0           
            char *p=strstr(str,name);//在str中查找name 
            if(p==NULL){

            }else{
                puts(str);//输出字符串到屏幕
            }
        }

        fclose(pf); 
    }

    return 0;
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值