C语言/文件读写小知识及操作调试代码

对于文件来说,让人很容易想到一个老生常谈的问题:

将大象三步放进冰箱 1.打开冰箱 2.放入大象 3.关闭冰箱。所以文件的开启和关闭就是最不能忘记的一小部分啦!

对一个文件进行操作的格式如下

首先引出 文件指针FILE *fr,*fw;--指向打开的文件

  1. 打开文件

fr=fopen(“文件/地址”,“打开方式”);

打开方式如下:

r 读文件,文件需存在

r+ 读写文件,文件需存在

w 写文件,文件不存在则创建,存在则覆盖原文件内容写文件

w+ 读写文件,文件不存在则创建,存在则覆盖原文件内容写文件

a 追加文件,文件不存在则创建,存在则在后面追加

a+ 读写文件,从文件头读,文件尾写入,文件不存在则创建,存在则在后面追加

//尾部+b表示对二进制文件进行操作

  1. 文件读写

fgetc/fputc--读取/写入一个字符

fgets/fputs--读取/写入一个字符串

fread/fwrite--按照/写入数据块来读

fscanf/fprintf--按照格式来读/写入}

有时需要验证是否到文件末尾

feof是c标准函数,feof();到末尾了=1,没=0 !feof(fp)组合起来就是文 件尚未结束的逻辑。

While(!feof(fr))

(1)读文件~~~

!!!待读的文件要和代码保存在一个文件夹!!!这是成功与否的关键)

基本格式char c; buf[1024]={0} ;

读取文件 c= fgetc(fp);

fgets(buf,1024,fp);

fread(buf,1024,100,fp);

fscanf(fp,”%s”,buf);

代码举个栗子吧

#include<stdio.h>
#include<string.h>
int main()
{
    FILE*fr;
    fr=fopen("out.txt","r");
    char str[100]={0};
    char ch;
/*    ch=fgetc(fr);          
    printf("%c",ch);         //读取一个字符 */
    
/*    fgets(str,100,fr);
    printf("%s",str);        //每次读取一行字符 ,最多读取n-1个字符  */
    
/*    fread(str,100,1,fr);
    printf("%s",str);                          
       //数据块读取 ,前两行和后两行等价  
    fread(str,sizeof(char),sizeof(str),fr);
    printf("%s",str);                                  */ 
       
                          
/*  fscanf(fr,"%s",str);
    printf("%s",str);         //fscanf读取数据遇到换行符结束    */
     
     
/*    while(!feof(fr))
    {
        ch=fgetc(fr);
        printf("%c",ch); 
    }                             //一个一个读字符直到读完   */
    
/*    while(!feof(fr))
    {
        fgets(str,100,fr);
        printf("%s",str);
    }                             //一行一行读直到读完      */
    
    
    fclose(fr);
    return 0;   
}

(2).写文件~~~

Char name[ ]=”hello world"; int i=0;

fputc(name[i],fp);

fputs (name,fp);

fwrite(name, strlen(name),1,fp);

fprintf(fp,"%s",name) ;

代码举个栗子吧

#include<stdio.h>
#include<string.h>
int main()
{
    FILE*fp;
    fp=fopen("in.txt","w");
    char ch='a';
    char str[100]={0};
    int i=0;
    gets(str);      
    
    
//    fputc(ch,fp);                  //写一个字符给文件 */ 
    
/*    fputs(str,fp);                 //将一串字符给文件 */
    
/*    for(i=0;i<100;i++)
    {
        fputc(str[i],fp);
    }                               

              
//    fprintf(fp,"%s",str);
    
//    fwrite(str,strlen(name),1,fp);     将一串字符给文件 */ 
    fclose(fp);
    return 0;
 } 

  1. 关闭文件

fclose(fr);

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值