linux 下的文件管理

1.fgetc(FILE *fp);

从fp指向的文件输入一字节代码

2.fputc(int c,FILE *fp);

fp指向的文件读取一字节代码

3.puchar(int c);

输出一段字符

4.getchar(void);

读取字符输入一个字符

5.fopen("filename",r/w);读或者写;

6.int feof();

判断文件是否结束;

用于两文件的复制;

feof(FILE*fp);

7.fwrite();

fwrite(&stu[i],sizeof(struct student),1,fp);

8.fread();

fread(&stu[i],sizeof(struct student),1,fp);

9.//写入fscanf(stdin,"%d",&s);

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

//读取显示在屏幕

fscanf(fp,"%d",&s);

fprintf(stdout,"%d",s);

10.fgets(string,64,fp);

fputs(string,stdout);

11.rewind( fp);

重置文件位置

12.fseek(fp,0L,0);

fseek(fp,I*SIZEOF(struct student),0);

13.ftell(fp);

长度

1..例对一个磁盘文件进行显示和复制两次操作

#include <stdio.h>  
int main()  
{     
    FILE *fp1,*fp2;  
    fp1=fopen("d:\\fengyi\\bkc\\ch12_4.c","r");  
    fp2=fopen("d:\\fengyi\\bkc\\ch12_41.c","w");  
    while(!feof(fp1))    
    putchar(getc(fp1));  
    rewind(fp1);  
    while(!feof(fp1))    
    putc(getc(fp1),fp2);  
    fclose(fp1);  
    fclose(fp2);  
    return 0;  
}   

2.磁盘文件上有3个学生数据,要求读入第1,3学生数据并显示

<span style="color:#330000">#include <stdio.h>  
struct student_type  
{    int num;  
     char name[10];  
     int age;  
     char addr[15];  
}stud[3];  
int main()  
{     
    int i;  
    FILE *fp;  
    if((fp=fopen("studat","rb"))==NULL)  
    {     
        printf("can't open file\n");  
        exit(0);     
    }  
    for(i=0;i<3;i+=2)  
    {     
         fseek(fp,i*sizeof(struct student_type),0);  
         fread(&stud[i],sizeof(struct student_type),1,fp);  
         printf("%s  %d  %d  %s\n",  
           stud[i].name,stud[i].num,stud[i].age,stud[i].addr);  
    }  
    fclose(fp);  
    return 0;  
}  </span>

3.求文件长度

<span style="color:#330000">#include"stdio.h"  
int main()  
  {   
    FILE *fp;  
    char filename[80];  
    long length;  
    gets(filename);  
    fp=fopen(filename,"rb");  
    if(fp==NULL)  
       printf("file not found!\n");  
    else  
    {   
      fseek(fp,0L,SEEK_END);  
      length=ftell(fp);  
      printf("Length of File is %1d bytes\n",length);  
      fclose(fp);  
    }  
    return 0;  
  }  </span>

4.例:从键盘读入字符串存入文件,再从文件读回显示

#include<stdio.h>  
int main()  
{     
    FILE  *fp;  
    char  string[81];  
    if((fp=fopen("file.txt","w"))==NULL)  
    {     
        printf("cann't open file");  
        exit(0);   
    }  
    while(strlen(gets(string))>0)  
    {   fputs(string,fp);  
        fputs("\n",fp);  
    }  
    fclose(fp);  
    if((fp=fopen("file.txt","r"))==NULL)  
    {     
        printf("cann't open file");  
        exit(0);   
    }  
    while(fgets(string,81,fp)!=NULL)  
       fputs(string,stdout);  
    fclose(fp);  
    return 0;  
}  

5.例 从键盘输入字符,逐个 存到磁盘文件中,直到 输入‘#“为止

#include <stdio.h>  
int main()  
{    
    FILE *fp;  
    char ch,*filename="out.txt";  
    if((fp=fopen(filename,"w"))==NULL)             //打开文件失败  
    {     
        printf("cannot open file\n");  
        exit(0);  
    }  
    printf("Please input string:");  
    ch=getchar();  
    while(ch!='#')  
    {       
          fputc(ch,fp);  
          putchar(ch);  
          ch=getchar();  
    }  
    fclose(fp);           //操作完后一定要关闭文件,一面数据丢失  
    return 0;  
}  


转自:文件操作(C语言)_codeAB-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值