C语言文件的简单存储

最近在复习C语言,遂将以前的笔记整理,以供以后翻阅。

这是实现文件的读入和文件的写出。

基本步骤是:

1.先判断文件是否可以打开,

2.进行文件的读入或者写出,

3.读写完毕,关闭文件。

/**

   “a” 如果没有文件,则会创建文件,如果文件存在,则会打开文件后在文件末尾添加

   “w” 如果没有文件,创建文件,如果有文件,则是将原有内容清空,重新写入内容

   “r”  如果没有文件,则会报错,如果有文件,则会打开文件后读取

*/

#define MAXLENGTH 1024*1024   //1024*1024*1024则运行异常缓慢 
int main(int argc, char *argv[])
{
    FILE *fpIn,*fpOut;
    char ch;
    int count=0,i=0;
    char array[MAXLENGTH];
    char inFileName[] = "D:\\C-C++\\FileTest\\InFile.txt";
    char outFileName[] = "D:\\C-C++\\FileTest\\OutFile.txt";


//  读入 
    if((fpIn=fopen(inFileName,"r"))==NULL){    //注意这个“r”必须是双引号,其中如果该文件不存在,则不会自行创建
        printf("文件打开失败!!!\n");
        exit(0);
    }else{
        printf("文件打开成功!!!\n");
    }
    
//    写出 
    if((fpOut=fopen(outFileName,"w+"))==NULL){  //"w+"则可以使文件在写入后被读取哦。,
        printf("文件打开失败!!!\n");
        exit(0);
    }else{
        printf("文件打开成功!!!\n");
    }
     
    printf("\n-----------------读入----------------\n");//分割线
    while((ch=fgetc(fpIn))!=EOF){
        putchar(array[count]); 
        array[count++]=ch;
        
    }
    printf("%s",array);

//    for(i=0;i<MAXLENGTH    ;i++){
//        array[i]='d';
//    }
         
    printf("\n------------------写出---------------\n");//分割线
    
    for(i=0;i<count;i++){
        fputc(array[i],fpOut);
        putchar(array[i]); 
    }
     
    printf("\n----------显示文件中的读写---------------\n");//分割线
    
    rewind(fpOut);
    while((ch=fgetc(fpOut))!=EOF){
        putchar(ch);
    }
    
    
    fclose(fpIn);
    fclose(fpOut);
    printf("\n文件关闭"); 
    
    return 0;
}

发布了9 篇原创文章 · 获赞 0 · 访问量 87

猜你喜欢

转载自blog.csdn.net/ren_x_guo/article/details/104771628