精华内容
下载资源
问答
  • 本篇文章是对C语言把文件读入字符串以及将字符串写入文件的方法进行了详细的分析介绍,需要的朋友参考下
  • 文件的读取及写入的理解及介绍 一、文件的分类 文本文件: 存储的是ASCII码的二进制(人能开的懂) 二进制文件: 存储的是数据的补码 文件IO FILE *fopen(const char *path, const char *mode); 功能:打开文件或...

    前言

    文件的读取及写入的理解及介绍


    一、文件的分类

    文本文件: 存储的是ASCII码的二进制(人能开的懂)
    二进制文件: 存储的是数据的补码

    文件IO
    FILE *fopen(const char *path, const char *mode);
    功能:打开文件或创建文件
    path:文件路径
    mode:打开的模式
    r :以只读权限打开文件,如果文件不存在则打开失败
    r+ :在r的基础上增加写权限
    w :以只写权限打开文件,如果文件不存在则创建,如果文件存在则清空
    w+ :在w的基础上增加写权限
    a :以只写权限打开文件,如果文件不存在则创建,如果文件存在则不清空,新写入的数据在文件末尾
    a+ :在a的基础上增加读权限

    以上方式以文本形式操作文件,在它们基础上加b表示以二进制方式操作文件

    返回值:结构指针,也称为文件指针,不需要关心它的成员,只需要直到它是操作文件的凭证,如果值是NULL表示文件操作失败

    二、二进制方式读写文件

    size_t fwrite(const void *ptr, size_t size, size_t nmemb,FILE *stream);
    功能:把内存中的数据写入到文件中
    ptr:内存首地址
    size:一次写入多少个字节
    nmemb:写入多少次
    stream:文件指针,fopen的返回值
    返回值:成功写入的次数:

    size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
    功能:从文件中读取数据到内存中
    ptr:存储从文件中读取的数据内存首地址
    size :一次读取的字节数
    nmemb:读取多少次
    stream :文件指针,fopen的返回值
    返回值:成功读取到的次数

    三、文本方式读写文件

    int fprintf(FILE *stream, const char *format, …);
    功能:以文本形式写入数据到文件中
    stream:要写入的文件
    format:占位符和提示信息
    …:变量名和列表
    返回值:成功写入的字节数

    int fscanf(FILE *stream, const char *format, …);
    功能:从文件中读取数据到变量中
    stream:要读取的文件指针
    format:占位符
    …变量地址列表
    返回值:成功读取到的变量个数

    int fclose(FILE *fp);
    功能:关闭文件

    文件的随机读写:
    文件的位置指针:
    每一个打开的文件都有一个指针记录着操作的位置,它会随着读写函数的执行而移动,以r、r+、w、w+模式打开的文件位置指针在开头,以a、a+打开文件位置指针在文件的末尾

    如果想要随机读写文件的任意位置的数据,只需要手动设置文件的位置指针即可
    int fseek(FILE *stream, long offset, int whence);
    功能:设置文件的位置指针
    stream:要设置的文件
    offset:偏移值
    whence:基础位置
    SEEK_SET:文件的开头
    SEEK_CUR:当前位置
    SEEK_END:文件末尾
    返回值:设置成功返回0,失败返回1

    void(FILE *stream);
    功能:把文件位置指针设置到开头

    long ftell(FILE *stream);
    功能:获取文件位置指针的位置
    返回值:第几个字节

    int feof(FILE *stream);
    功能:检查文件位置指针是否到达末尾
    返回值:非0 说明到达文件末尾

    char *fgets(char *s, int size, FILE *stream);
    功能:从文件中读取一行字符串

    int fputs(const char *s, FILE *stream);
    功能:写入一个字符串到文件中,自动在末尾添加\n
    返回值:成功谢图的字符个数

    int remove(const char *pathname);
    功能:删除文件
    返回值:成功返回0 失败返回1

    int rename(const char *oldpath, const char *newpath);
    功能:重命名文件
    返回值:成功返回0 失败返回1

    四、main函数的参数

    是为了获取命令行附加的参数
    argc 代表参数的个数
    argv 每个字符串参数的首地址
    注意:./a.out一定是第一个参数


    总结

    以上,有错误,还请指正

    展开全文
  • C语言文件读取和写入。针对dat文件的读写。 注意文件路径。 程序简单明了 供参考
  • C语言实现数据写入文件

    万次阅读 多人点赞 2020-03-19 18:21:22
    文件写入数据(C语言) 在分析数据时,首先要解决数据的保存问题,c中提供了相应的函数来实现将数据写入指定文件中的功能 使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件 FILE *fopen(const chat ...

    向文件中写入数据(C语言)

    在分析数据时,首先要解决数据的保存问题,c中提供了相应的函数来实现将数据写入指定文件中的功能

    1. fopen函数

    使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件

    FILE  *fopen(const chat *filename,const char *mode)
    

    传入参数:filename为文件名,mode为打开方式,控制读写权限,数据形式为字符串。
    常用模式如下:

    r只读
    w写入
    r+读写
    w+写入、更新
    1. fprintf函数

    fprintf()函数根据指定的格式,向输出流(stream)写入数据

    int fprintf(FILE *stream, const char *format, ...)
    

    传入参数:其中 stream为指向FILE对象的指针,format 为字符串其中包含了写入到流 stream 中的文本

    #include<stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    void ExpDataWrite()
    {
            const char* filename1 = "F:/X.txt"; %设置文件放置位置
            int dataindex = PointNumber;
            FILE* fp1 = fopen(filename1 , "w");%fp1为文件指针,可通过fp1来实现对文件的操作
    	if (fp1 == NULL)%若打开文件失败,fopen会返回NULL
    	{
    	    puts("Fail to open file!");
    	    exit(1);
    	}
    	for (int i = 0; i < dataindex; i++)
    	{
    	  fprintf(fp1, "%.3f\n", data->x[i]); %将数据写入文件
    	}
    	fclose(fp1);%关闭文件
            printf("Data saved.\n");
    }
    

    注意:在设置文件存放位置时路径中用 ‘/’

    展开全文
  • 作为一个新手学习C语言读写数据,我整合了一下自己查找的一些资料,用C语言实现将一个文件读入内存中,里面有运行工具,和一个word文档代码。
  • 这样的话就不能写文件时马上在程序中进行读的操作,文件调用结束fclose后才能写入文件中,那时候在开程序才能读,文件不能进行实时的读写操作 原因是:调用fprintf(),fgets() fwrite()等函数只是让内容进入缓冲区,...

    当你打开一个文件进行读写操作, 你会发现你写的内容并没有立刻被写进文件当中,用ferror()测出文件进行写时没有错。这样的话就不能写文件时马上在程序中进行读的操作,文件调用结束fclose后才能写入文件中,那时候在开程序才能读,文件不能进行实时的读写操作
    原因是:调用fprintf(),fgets() fwrite()等函数只是让内容进入缓冲区,并没有就立即写入文件中(原因是为了提高效率,一次写一个的操作没有数据积攒到一定量后写效率高)
    如下图 这是个人账户的记录
    当添加记录时程序正在进行着,并没有写入文件,显示不出记录
    在这里插入图片描述
    在程序运行的过程中,查看了一下欸写入的文件显示为0字节并没有在程序运行的过程中写入在这里插入图片描述
    那如何实时写入文件中呢:

    头文件:#include<stdio.h>
    定义函数:int fflush(FILE * stream);
    函数说明:fflush()会强迫将缓冲区内的数据写回参数stream指定的文件中,如果参数stream为NULL,fflush()会将所有打开的文件数据更新。
    返回值:成功返回0,失败返回EOF,错误代码存于errno中。
    fflush()也可用于标准输入(stdin)和标准输出(stdout),用来清空标准输入输出缓冲区。

    fflush():清除文件缓冲区,将缓冲区内容写入文件
    fflush()写在文件fprintf(),fgets() fwrite()等函数的后面
    eg:在这里插入图片描述
    当添加了后就能实时操作写入文件中进行读写操作
    在这里插入图片描述

    展开全文
  • C语言写入文件

    千次阅读 2014-05-31 18:35:51
    #include #include int main() { int ch; FILE *fp;...当正确写入一个字符或一个字节的数据后,文件内部写 指针 会自动后移一个字节的位置。EOF是在头文件 stdio.h中定义的宏。
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int ch;
        FILE *fp;
        fp =fopen("c.txt","w");
        while((ch=getchar()) !='!')
        {
            fputc(ch,fp);
        }
        fclose(fp);
        return 0;
    }

    fputc

    函数功能: 将字符ch写到文件指针fp所指向的文件的当前写指针的位置。
    函数名称:写字符文件函数fputc()
    函数格式:int fputc (int n, File *fp)
    参数解释:fp为 文件指针,它的值是执行fopen()打开文件时获得的。
    n为输出的字符量。
    虽然函数被定义为整形数,但仅用其低八位。
    返回值:在正常调用情况下,函数返回读取 字符的ASCII码值,出错时,返回EOF(-1)。当正确写入一个字符或一个字节的数据后,文件内部写 指针会自动后移一个字节的位置。EOF是在头文件 stdio.h中定义的宏。

    展开全文
  • C语言读取和写入dat文件 注意路径 简单明了 仅供参考
  • C语言写入文件函数: 代码函数: #include<stdio.h> void main() { FILE*pf; //定义一个FILE结构体指针,用来标识要出理的文件 Pf = fopen("...","w"); //使用怕fopen函数; ...表示你要写入的文件; ...
  • c语言文件写入

    千次阅读 2019-06-14 17:25:23
    创建一个文件使用fopen打开,然后使用fprintf输出,最后关闭文件流 FILE * out ; out = fopen( " test.txt " , " a+ " ); if ( out == NULL){ exit(EXIT_FAILURE); } printf( " hello~\n " ); int i;...
  • Linux下用C语言实现文件写入

    万次阅读 2018-07-11 18:49:53
    C语言自带的文件写入机制是非常不错的选择我们可以通过一下代码来轻松完成文件写入C语言中对文件操作的标准库函数以下所示: 文件的打开操作 fopen 打开一个文件 文件的关闭操作 fclose 关闭一个文件 文件的...
  • C语言文件的读取和写入操作代码

    千次阅读 2020-09-21 17:48:37
    #include <stdio.h> #define N 1024 #define IN int rwFile(IN char * orgnFile, IN char * outFile) { FILE *fpIN;... // 这一句是将文件指针fp移动到文件数据的最后一位上 int len = ftell
  • C语言实现创建N个文件,并对文件写入想要的内容。
  • C语言文件读取与写入操作

    万次阅读 多人点赞 2016-04-13 10:28:43
    学了一年的C语言了,现在回过头来做一下总结。并且博客开了挺长一段时间却没有谢什么实际的东西。...所以读取与写入文件就用到了指针,而这个指针是一个特殊的指针,我们称为文件指针。 指针名称是
  • c语言txt文件写入,不覆盖原数据

    万次阅读 多人点赞 2018-09-11 16:59:48
    当想在txt文件中末尾写入数据,不清空原文件内容时,使用:a模式。 void write_txtfile(TFloat k, TFloat da, int label) { const char *pFileName = "result.txt"; FILE * pFile; pFile = fopen(pFileName, "a");...
  • 简单的写入一个文件以及从文件中读取输出: #include&amp;lt;stdio.h&amp;gt; mian() { int a[3]={100,200,300},a1[3]; //一份定义俩个变量将a读入文件,从文件中读取到a1 float b=123,45678,b1; FILE ...
  • C语言读写文件

    万次阅读 多人点赞 2019-04-21 22:20:38
    一:打开文件句柄 //参数1:文件路径 //参数2:文件打开模式 函数执行成功返回文件流指针,错误返回NULL。 FILE *fopen(const char *path, const char *mode); 模式 操作 区别 文件要求 r 读 ...
  • C语言文件写入内容

    千次阅读 2017-07-03 21:35:04
    #include int main () { FILE * pFile; //char buffer[] = { 'x' , 'y' , '2' }; char sf[100]="\0";//如果数组没有初始化,且输入的内容未占... printf("请输入要创建的文件的内容\n"); gets(sf); pFile = fopen
  • c语言数据从链表写入文件和从文件读取到链表

    千次阅读 多人点赞 2020-03-07 14:03:28
    想要实现c语言数据从链表写入文件和从文件读取到链表这个功能必须 先得了解一些关于文件操作的一些函数 fopen() fclose() fprintf() fscanf() fread() fwrite() 这些都会再我的另外一篇博客中提到 这个代码仅仅是...
  • C语言中将结构体写入文件

    万次阅读 2016-10-15 21:58:42
    可以使用fwrite()将一个结构体写入文件:  fwrite(&some_struct,sizeof somestruct,1,fp); 对应的fread函数可以再把它读出来,此处fwrite受到一个结构的指针并把这个结构的内存映像作为字节流写入文件。sizeof...
  • C语言提供了fwrite()函数,用于往一个打开的文件指针中写入数据。函数的定义如下: size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream ); 函数说明:函数往stream文件指针指向的文件...
  • C语言创建文件写入并读取

    千次阅读 2016-04-16 08:46:16
    我创建一个新文件,用fprintf写入一个数组,没问题。但是当我再次直接读取这个文件里的数组时就出错即这样:#include "stdio.h" int main() { FILE* f; //创建一个文件指针 int i,j; int a[5][512]; for (i=0...
  • C语言读写txt文件编译时出现乱码

    千次阅读 2021-01-24 21:51:31
    文本文件默认的编码形式是utf-8 马赛克部分是中文 将编码形式改成ascii就好了。文件 -> 另存为->
  • C语言 fprintf写入文件

    千次阅读 2020-04-28 19:17:41
    C语言 fprintf写入文件以追加方式写入txt文件(若无该文件,则新建) 以追加方式写入txt文件(若无该文件,则新建) FILE *fp; fp=fopen("9.txt","a+"); //用 fopen 函数打开txt文件 for (int i = 0; i < K - 1...
  • C语言文件读写函数总结

    千次阅读 多人点赞 2018-04-30 23:51:59
    1、字符写入文件函数 fputc 2、从文件中读取字符 fgetc 二、字符串的读写 1、字符串写入文件函数 fputs 2、从文件中读取字符 fgets 三、块数据读写 1、向文件中写入块数据fwrite 2、从文件中读取块数据fread ...
  • 注意:   1、由于C是缓冲写 所以要在关闭或刷新后...在C语言中写文件 //获取文件指针 FILE *pFile = fopen("1.txt", //打开文件的名称 "w"); // 文件打开方式 如果原来有内容也会销毁 //向文件写数据 fwrite
  • C语言 文件读写的实现

    万次阅读 多人点赞 2019-04-26 11:55:33
    关于C语言的文件读写,我将介绍下面这几种方式: 字符的读写:使用 fgetc() 函数 和 fputc() 函数; ...字符串的读写:使用 fgets() 函数和 fputs() 函数;... //用于将一个字符写入文件 其中,...
  • 偶尔会有覆盖文件的某一部分的需求,用c写了一个小工具,这是工具的功能实现的主要细节。 代码功能:将现存的temp.txt文件的0x100到0x200地址全部填充成0xff。 #include <stdio.h> int main(int argc, char *...
  • C语言-文件读写操作

    千次阅读 2019-04-19 11:35:01
    C 语言把文件看作是一个字符的序列,即文件是由一个一个字符组成的字符流,因此 c 语言将文件也称之为文件流。 即当读写一个文件时,可以不必关心文件的格式或结构。 2、文本文件和二进制文件: 计算机文件的存储...
  • /*c语言将数据写入文件,用链表实现*/ #include #include #include /*定义结构体*/ typedef struct Node { char id[10]; /*学生学号*/ char name[20]; /*学生姓名*/ struct Node

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,173
精华内容 36,469
关键字:

c语言写入文件

c语言 订阅