精华内容
下载资源
问答
  • c语言文件实例.rar

    2020-07-01 13:08:38
    ps:老师布置的作业。这里的源代码在我博文里有免费的。这里面是源程序,多了我运行后创建的几个文件 ...4、实现文本文件合并程序,在命令行界面输入多个文件名,然后把后面的所有文件合并到第一个文件的程序。
  • 主要介绍了C语言文件复制实例详解的相关资料,需要的朋友可以参考下
  • C语言文件操作实例

    2011-10-18 20:08:20
    C语言文件操作实例,初学习C语言的好例子.
  • C语言 文件操作 实例

    2009-10-23 14:13:25
    关于C语言中常用函数的使用,包括:fgets, fputs, fgetc, fputc, fprintf, fscanf, fwrite, fread 其中有6个文件用于解释文件操作的基本功能
  • C语言文件读取实例

    千次阅读 2019-02-12 23:01:54
    文件操作函数 打开文件: fopen(文件名,使用文件方式) 关闭文件: fclose( fp ) 文件读取: fgetc( fp ) , fgets(str, n, fp) , fscanf(fp, 格式, 输入列表) , fread(存储区指针, 单元大小, 个数, 文件指针)...

    文件操作函数

    打开文件:fopen(文件名,使用文件方式)
    关闭文件:fclose( fp )
    文件读取:fgetc( fp )fgets(str, n, fp)fscanf(fp, 格式, 输入列表)fread(存储区指针, 单元大小, 个数, 文件指针)
    文件写入:fputc( ch, fp )fputs(str, fp)fprintf(fp, 格式, 输出列表)fwrite(存储区指针, 单元大小, 个数, 文件指针)
    其他:feof( fp )rewind( fp )fseek(fp, 偏移量, 起始点)

    关于fopen:只读用“r”,只写用“w”,若后面要使用fread或fwrite,则用“rb”或“wb”
    关于fgets:实际读入n-1个字符,并在str[n-1]处放入’\0’
    关于fseek:偏移量为长整型,如"-10L"表示向后10个字节;起始点有三种,0表示文件开头,1表示当前位置,2表示文件结尾,例如想读入最后一个字节,可以这样定位:fseek(fp, -1L, 2)

    对比记忆,标准输入输出:
    标准输入:getchar(), gets(字符数组)
    标准输出:putchar(ch)

    情景一:每行是空格分隔的整数,且个数不确定(fgets例子)

    示例文本:

    3 -5 2 -1
    6 8 -2
    -4 7 9 -3 6
    

    参考程序:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define N 100
    
    int main(){
        //打开文件
        FILE *frp = fopen("D:\\in.txt", "r");
        if(frp==NULL){
            printf("cannot open file!\n");
            exit(1);
        }
    
        //读取文件并打印
        char str[N];
        while (!feof(frp))
        {
            fgets (str, N, frp);
            char *p;
            int num=0;
            //空格与回车都作为分隔符
            for (p = strtok(str, " \n"); p; p = strtok(NULL, " \n")) {
                //sscanf(p,"%d",&num);
                num=atoi(p);
                printf("%d ",num);//每行末尾会多个空格
            }
            printf("\n");//末尾多了个回车
        }
    
        //关闭文件
        fclose(frp);
        return 0;
    }
    
    

    结果截图:
    截图

    情景二:每行是空格分隔的整数,且第一个数字为该行剩下的数字个数(fscanf例子)

    示例文本:

    5 10 -20 2000 36 -100
    3 -10 60 300
    4 70 88 12 66
    

    参考程序:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(){
    	/*打开文件*/
        FILE *frp=fopen("D:\\in.txt","r");
        if(frp==NULL){
            printf("cannot open file");
            exit(1);
        }
        /*读取文件并打印*/
        int len;
        while(!feof(frp)){
            len=0;
            fscanf(frp,"%d",&len);
            int *arr=(int *)malloc(sizeof(int)*len);
            for(int i=0;i<len;i++){
                fscanf(frp,"%d",arr+i);
            }
            for(int i=0;i<len;i++){
                printf("%d ",arr[i]);//每行末尾会多个空格
            }
            printf("\n");//末尾多了个回车
            free(arr);
        }
        /*关闭文件*/
        fclose(frp);
        return 0;
    }
    

    结果截图:
    截图

    展开全文
  • C语言通讯录实例分享

    2020-12-26 12:01:24
    本文实例为大家分享了C语言通讯录实例的具体代码,供大家参考,具体内容如下 main.c文件: // // main.c // c语言通讯录 // // Created by stevenchang on 9/6/15. // Copyright (c) 2015 cz. All rights reserved....
  • C语言文件读写实例

    万次阅读 2012-04-24 13:55:32
    //编程完成读出文件sfile.txt中的内容,反序写入另一个文件dfile.txt中去。 #include #define BUFFSIZE 5000 void main() { FILE * sfp,* dfp; int i; char buf[BUFFSIZE]; if((sfp=fopen("C:\\sfile....


    //编程完成读出文件sfile.txt中的内容,反序写入另一个文件dfile.txt中去。

    #include<stdio.h>

    #define BUFFSIZE 5000
    void main()
    {
    FILE * sfp,* dfp;
    int i;
    char buf[BUFFSIZE];
    if((sfp=fopen("C:\\sfile.txt","r"))==NULL)        /*以只读方式打开*/
    {
       printf("Source file cannot be opened\n");
       exit(1);
       }
       if(!(dfp=fopen("C:\\dfile.txt","w")))                /*以只写方式打开*/
        {
         printf("Destination file cannot be opened\n");
         exit(1);
         }
         i=0;
         while(!feof(sfp))                        /*判断是否文件尾,不是则循环*/
         {
          buf[i++]=fgetc(sfp);                 /*读出数据送缓冲区*/
          if(i>=5000)                              /*若i超出5000,程序设置的缓冲区不足*/
           {
            printf("buffer not enough!");
            exit(1);
            }
          }
          while(--i>=0)                         /*控制反序操作*/
          fputc(buf[i],dfp);                    /*写入目的文件中*/
          fclose(sfp);
          fclose(dfp);
    }

     

     

    //从键盘输入字符后,写入到磁盘文件datafile1.txt中
    #include<stdio.h>
    void main()
    {
    FILE * fp1;
    char str1;
    if((fp1=fopen("C:\\datafile1.txt","w"))==NULL)
    {
       printf("file cannot be opened\n");
       exit(1);
       }
       while((str1=fgetc(stdin))!='\n')
       fputc(str1,fp1);
       fclose(fp1);
    }

     

     

    //读出磁盘文件datafile.txt中的内容,将它们显示在屏幕上
    #include<stdio.h>
    void main()
    {
    FILE * fp;
    char str1;
    if((fp=fopen("C:\\datafile.txt","r"))==NULL)
    {
       printf("file cannot be opened\n");
       exit(1);
       }
       while((str1=fgetc(fp))!=EOF)
       fputc(str1,stdout);
       fclose(fp);
    }

    展开全文
  • C语言编程实例100题

    2015-09-03 19:29:56
    想要学会C语言,大量的联系是必不可少的,这部文件C语言编程实例100,很适合初学者。
  • C语言实例

    2011-03-06 23:56:07
    文件包含200多个C语言实例,共分为8个部分,可以对大家理解C语言的应用起到很好的帮助,目录清单大致如下: 第一部分 基础篇, 第二部分 数据结构篇 第三部分 数值计算与趣味数学篇 ………………………… 第六...
  • c语言基础实例.rar

    2020-05-19 13:43:26
    文件为本人学c语言时的所有基础知识点脚本实例,分门别类的介绍了各个知识点及其使用方法,通过此文件,基本可以实现c语言的理解入门!
  • C语言通讯录实例

    2018-08-09 12:06:18
    主要实现的就是添加、删除、修改联系人,然后把数据写入存储文件。编写环境VS2013,测试环境DEVC++。在VC++中是不能编译的,VC会报错的原因是在编写的时候在循环中添加局部变量,正好VC不支持这样的局部变量,如果有...
  • C语言OpenGL实例

    2014-07-01 13:02:11
    本软件用C语言做基础,在OpenGL的支持下实现了三维环境的模拟,同时实现了3ds文件的地图导入,非常方便学习.
  • C语言读取txt文件实例

    万次阅读 多人点赞 2018-06-07 16:07:49
    本文主要总结用C语言来读txt文本的内容,具体的步骤如下所述。1.1建一个.c源文件,赋值如下代码。#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt;#define MAX...

    本文主要总结用C语言来读txt文本的内容,具体的步骤如下所述。


    1.1建一个.c源文件,复制如下代码。

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define MAX_LINE 1024
    int main()
    {
     char buf[MAX_LINE];  /*缓冲区*/
     FILE *fp;            /*文件指针*/
     int len;             /*行字符个数*/
     if((fp = fopen("test.txt","r")) == NULL)
     {
     perror("fail to read");
     exit (1) ;
     }
     while(fgets(buf,MAX_LINE,fp) != NULL)
     {
     len = strlen(buf);
     buf[len-1] = '\0';  /*去掉换行符*/
     printf("%s %d \n",buf,len - 1);
     }
      return 0;
    }


    1.2在.c源文件同目录下,新建一个名为test.txt的文本文件,在其中随意写入内容,比如我写入的内容为:

    I an a string! 1234567



    1.3在cygwin下,敲入如下指令进行编译,生成.exe可执行程序,如下图所示:

    gcc write_txt.c -o write_txt.exe





    1.4继续在cygwin下,敲入如下指令,执行.exe可执行程序,结果如下图所示:

    ./write_txt



    由上面结果可知,该程序正确读出了test.txt文本文件的内容!



    参考内容:

    https://blog.csdn.net/baidu_29950065/article/details/51659913?yyue=a21bo.50862.201879(重点参考)

    https://blog.csdn.net/u010925447/article/details/75046810

    展开全文
  • C语言开发实例

    2015-11-12 10:38:25
    实例内容包括: 实现键盘画图、直接读取DBF文件、在C程序中显示汉字、16色模式下显示256色及彩色、使用C中自带的驱动去改变字体和颜色、实用的艺术清屏
  • C语言程序实例大全

    2011-12-04 15:14:54
    共220个简单C语言实例,代码附有注释和exe文件,是C语言入门的好帮手
  • C语言 文件IO操作实例

    2019-03-01 16:17:58
    文件IO操作实例与常用函数记录。
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    char s_readbuf[100];
    char *ADP_NET_GetModuleVer_SW()
    {
        FILE *fp = NULL;
        int len;
        fp = fopen("./version", "r");
        if (!fp) {
            printf("fopen error\n");
            return 0;
        }
        fseek(fp, 0, SEEK_END);
        len = ftell(fp);
        rewind(fp);
        fread(s_readbuf, 1, len-1, fp);//len-1 去除换行符
        s_readbuf[len] = '\0';
        fclose(fp);
        fp = NULL;
        return s_readbuf;
    }
    void main()
    {
        char *buf = NULL;
    
        buf = ADP_NET_GetModuleVer_SW();
        printf("file content: %s\n", buf);
    }
    

    知识点说明

    一、fopen

    (1)函数原形

    FILE * fopen(const char * path, const char * mode);

    (2)参数mode
    参数mode说明
    (3)二进制和文本模式的区别

    • 在Windows系统中,文本模式下,文件以"\r\n"代表换行。若以文本模式打开文件,并用 fputs 等函数写入换行符"\n"时,函数会自动在"\n"前面加上"\r"。即实际写入文件的是"\r\n"。
    • 在类 Unix/Linux 系统中文本模式下,文件以"\n"代表换行。所以 Linux 系统中在文本模式和二进制模式下并无区别。

    (4)返回值

    文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回 NULL,并把错误代码存在 error 中。

    (5)注意事项

    • 在定义文件指针时,要将文件指针指向空;如 FILE *fp = NULL
    • 在文件操作完成后,别忘记fclose,否则会造成内存泄漏和在下次访问文件时出现问题。
    • 文件关闭后,需要将文件指针指向空,这样做会防止出现游离指针,而对整个工程造成不必要的麻烦;如:fp = NULL

    二、fseek

    (1)函数原形

    int fseek(FILE *stream, long offset, int fromwhere);

    (2)参数说明

    第一个参数stream为文件指针
    第二个参数offset为偏移量,正数表示正向偏移,负数表示负向偏移
    第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET

    SEEK_SET: 文件开头
    SEEK_CUR: 当前位置
    SEEK_END: 文件结尾

    其中SEEK_SET,SEEK_CUR和SEEK_END依次为0,1和2.

    简言之:
    fseek(fp,100L,0);把stream指针移动到离文件开头100字节处;
    fseek(fp,100L,1);把stream指针移动到离文件当前位置100字节处;
    fseek(fp,-100L,2);把stream指针退回到离文件结尾100字节处。

    (3)返回值

    • 如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。
    • 如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置,函数返回-1,设置error的值,可以用perror()函数输出错误。

    (4)注意事项

    • 文件指针操作文件,会直接覆盖原先的内容。fread fwrite操作都会对文件指针进行偏移。
    • 实现文件内容中插入字符串,先定位到要插入的文件指针位置,将之后的内容保存在缓存中,插入目标字符串后再把文件缓存的内容添加。
    • 函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数。配合fseek使用。会计算换行符的长度
    • 计算完文件长度后,记得rewind(将文件内部的位置指针重新指向一个流(数据流/文件)的开头)。等价于fseek(stream, 0L, SEEK_SET)。

    三、fread

    (1)函数原形

    size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;

    (2)参数说明

    buffer 用于接收数据的内存地址
    size 要读的每个数据项的字节数,单位是字节
    count 要读count个数据项,每个数据项size个字节.
    stream 输入流

    (3)返回值

    个人理解为返回数据项数

    char *ADP_NET_GetModuleVer_SW()
    {
        FILE *fp = NULL;
        int len;
        int ret;
    
        fp = fopen("./version", "r");
        if (!fp) {
            printf("fopen error\n");
            return 0;
        }
        fseek(fp, 0, SEEK_END);
        len = ftell(fp);
        rewind(fp);
        ret = fread(s_readbuf, 1, len-1, fp);//len-1 去除换行符
        printf("len = %d\n", len);
        printf("fread ret = %d\n", ret);
        //fread(s_readbuf, len-1, 1, fp);
        s_readbuf[len] = '\0';
        fclose(fp);
        fp = NULL;
        return s_readbuf;    
    }
    void main()
    {
        char *buf = NULL;
        int ret;
        buf = ADP_NET_GetModuleVer_SW();
        printf("file content: %s\n", buf);
    }
    

    运行结果:

    len = 28
    fread ret = 27
    file content: plt-ec20-0.01
    plt-ec20-0.02
    

    当使用 fread(s_readbuf, 1, len, fp),当len小于fp文件中实际的长度,fread的返回值为len,当len大于fp文件中实际的长度。fread的返回值为文件fp实际的长度。

    修改为:ret = fread(s_readbuf, 1, 50, fp);
    运行结果:
    len = 28
    fread ret = 28
    file content: plt-ec20-0.01
    plt-ec20-0.02
    
    修改为:ret = fread(s_readbuf, 1, 5, fp);
    运行结果:
    len = 28
    fread ret = 5
    file content: plt-e
    

    当使用 fread(s_readbuf, len, 1, fp),这种语句时,个人理解为读取一个数据项,数据项长度为参数2,当fp文件长度小于len,则说明没有读取完整一个数据项,返回值为0。反之说明已经读取完整一个数据项,返回值为1。

    修改为:ret = fread(s_readbuf, 50, 1, fp);
    运行结果:
    len = 28
    fread ret = 0
    file content: plt-ec20-0.01
    plt-ec20-0.02
    
    修改为:ret = fread(s_readbuf, len, 1, fp);
    运行结果:
    len = 28
    fread ret = 1
    file content: plt-ec20-0.01
    plt-ec20-0.02
    

    4、fwrite

    (1)函数原形

    size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);

    (2)参数说明

    • buffer:是一个指针,对fwrite来说,是要获取数据的地址;
    • size:要写入内容的单字节数;
    • count:要进行写入size字节的数据项的个数;
    • stream:目标文件指针;
    • 返回实际写入的数据项个数count。

    (3)返回值

    返回实际写入的数据块数目

    展开全文
  • 主要介绍了C语言 文件操作解析详解及实例代码的相关资料,需要的朋友可以参考下
  • C语言文件操作思维导图及实例代码
  • c语言文件实例

    千次阅读 2013-11-25 23:17:23
    //文件到矩阵中,整数时候才对为什么?小数的时候不对? int main() { int *data=new int[2*3]; FILE *fp=fopen("in.txt","r"); if(!fp) {  printf("can't open file\n");  return -1; } while
  • 220个C语言代码实例大全,一共有220个C源码,涉及到游戏、算法、字符等多方面的技术,比如:  解救人质游戏只要可以走到下面的小人那里就赢  合并两上有序文件  数列求和、猜数字游戏  图形的广度优先搜寻法...
  • MongoDB的C语言编程实例

    千次阅读 2016-07-10 12:29:23
    下面讲述在Linux平台下MongoDB的C语言编程实例 假设已经安装好了MongoDB。 1. 下载MongoDB的C语言驱动并安装 这里下载的MongoDB的C语言驱动是 mongo-c-driver-1.3.5.tar.gz,解压后打开mongo-c-driver-1.3.5目录下的...
  • 包含了对指针数组,数组指针的实例应用,对深入理解指针有很好的帮助;链表操作有双向循环链表的操作,可以用于实际应用;文件读写,以巧妙的方式读取文件内容,并且把文件中的内容存放到数组中,方便可靠。
  • C语言开发实例900

    2012-02-17 15:48:15
    包含了实用的C语言代码,包括文件,键盘,存储,函数等分类的实用C代码
  • C语言编程实例100.rar

    2020-08-03 12:44:33
    C++编程100实例源代码打包下载,内有很多很基础的编程实例,特别合适初学C++的同学,码实例包含界面编辑、硬件检测、文件操作、算法计算、图形绘制等等

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,782
精华内容 712
关键字:

c语言文件实例

c语言 订阅