首页 > 其他分享 >c语言文件大概

c语言文件大概

时间:2024-11-18 17:16:25浏览次数:3  
标签:fp 文件 函数 字符 读写 大概 file 语言

文件

一:文件的打开

FILL *fp;

fp=fopen("文件地址","打开方式“)

打开方式:文件地址的方式有相对路径和绝对路径,具体不多说

二:文件的关闭

fclose(fp)

三:文件读写函数

1读写字符函数fgetc和fputc:

fgetc("fp"),fputc("character","fp")

fgetc就是从文件中读入一个字符,fputc是将一个字符写入文件中

调用成功时两函数都返回此字符,失败则返回EOF

2按照行读写文件:

fgets ( ch字符,size大小,fp )从fp中读入size-1个大小写入ch字符中,遇到换行符或文件结束会停止,返回字符首地址,无字符返回NULL;

fputs(字符串,fp)将字符串写入fp所指向的文件中。成功返回0,失败返回EOF;

3格式化读写:

都是按照一定的格式去读写;

fcanf(fp,format...)

#include <stdio.h>

int main() {
    FILE *file;
    char name[100];
    int age;
    float salary;

    // 打开文件
    file = fopen("data.txt", "r");
    if (file == NULL) {
        perror("Error opening file");
        return 1;
    }

    // 读取数据
    if (fscanf(file, "%s %d %f", name, &age, &salary) == 3) {
        printf("Name: %s\n", name);
        printf("Age: %d\n", age);
        printf("Salary: %.2f\n", salary);
    } else {
        printf("Error reading data from file\n");
    }

    // 关闭文件
    fclose(file);

    return 0;
}

fprintf(fp,format...)

#include <stdio.h>

int main() {
    FILE *file;
    char name[100] = "John Doe";
    int age = 30;
    float salary = 50000.0;

    // 打开文件
    file = fopen("output.txt", "w");
    if (file == NULL) {
        perror("Error opening file");
        return 1;
    }

    // 写入数据
    if (fprintf(file, "Name: %s\nAge: %d\nSalary: %.2f\n", name, age, salary) < 0) {
        printf("Error writing data to file\n");
    }

    // 关闭文件
    fclose(file);

    return 0;
}

4数据块读写函数

四:文件的随机读写

1 . rewind 函数,将文件内部的位置指针移动到文件首。

2.fseek 函数,移动文件内部位置指针。

3.ftell

ftell 函数用于获取文件流中的当前位置,以字节为单位,从文件的开头算起。
long ftell(FILE *stream);
stream:指向 FILE 结构的指针,表示要查询的文件流。
返回值
成功时,返回文件指针当前的位置(以字节为单位)。
如果发生错误,返回 -1L,并设置 errno。

五:文件检测函数

1 . 文件结束检测函数(feof 函数),功能为判断文件是否处于文件结束位置,如文件结束,则返回值为1,否则为0。
格式为:feof(文件指针);
2 . 读写文件出错检测函数(ferror 函数),功能为检查文件在用各种输入输出函数进行读写时是否出错。如 ferror 返回值为 0 表示未出错,否则表示有错。
格式为:ferror(文件指针);
3 . 文件出错标志和文件结束标志置 0 函数(clearerr 函数),用于清除出错标志和文件结束标志,使它们为 0 值。
注:内容部分来自网上。

标签:fp,文件,函数,字符,读写,大概,file,语言
From: https://blog.csdn.net/hdglovec/article/details/143860215

相关文章

  • 高阶C语言之四:动态内存管理
    目录开辟和释放动态内存malloc开辟空间free释放空间clloc初始化开辟空间realloc修改动态内存常见的内存错误1、对空指针的解引用操作2、对动态开辟空间的越界访问3、对非动态开辟内存使用free释放4、使用free释放动态内存的一部分 5、对同一块空间的多次释放6、动......
  • 前端VUE上传文件+后端.NET WebApi
    前端:VUE <template><divv-loading="loading"element-loading-text="Loading..."><el-headerclass="order"><el-rowclass="topfrom":gutter="20">......
  • Python..gitignore文件
    .gitignore文件#Byte-compiled/optimized/DLLfiles__pycache__/"""Python文件编译后的缓存目录。git上传时会忽略该目录下的文件"""*.py[cod]"""Python文件编译后的字节码文件(如.pyc、.pyo、.pyd)。"""*$py.class "&q......
  • 告别中央服务器:Syncthing实现点对点文件同步
    去中心化的同步机制核心:Syncthing通过去中心化的方式实现文件同步,不再依赖任何中心服务器,确保了数据的隐私和安全。自动发现与连接优势:无需预先设定IP地址或端口号,Syncthing可以自动在局域网或互联网环境中发现并连接其他运行Syncthing的设备,简化了设备间的同步过程。 智能......
  • vscode go语言注释语句黄色波浪线
    go语言注释代码总是飘着黄色波浪线提示:(withoptionalleadingarticle)(ST1021)go-staticcheck,非常影响观感。经过查询发现,go-staticcheck是一个用于Go代码静态分析的工具,用来检测代码中的潜在问题、代码规范以及常见的错误。本次错误信息来自go-staticcheck中的规则ST10......
  • 创建文件报错 no space left on device
    现象描述在Linux云服务器中创建新文件时,出现nospaceleftondevice报错。可能原因可能原因处理措施硬盘空间处于已满状态检查硬盘空间是否已满文件系统inode满检查文件系统是否inode满dfdu处于不一致状态检查dfdu是否不一致故障处理通过腾讯云的......
  • 文件夹大小和U盘剩余空间匹配问题
    前段时间将磁盘文件迁移到U盘中遇到了一点问题,首先通过查看属性,我知道这个文件夹所占的空间是16.5G,而U盘剩余可用空间是24.8G,但是在移动过程中显示U盘上的空间不足再一个问题就是文件属性中大小和占用空间并不一致这两个问题让我产生了困惑,通过度娘最终知晓了大致的原理1......
  • 使用 Go 语言进行多时区时间转换
    使用Go语言进行多时区时间转换在日常开发中,我们经常会遇到跨境电商、国际会议调度等全球化应用的需求,这时处理多时区的时间就是一个普遍问题。例如,你可能需要将某个事件的北京时间转换为洛杉矶时间、纽约时间和伦敦时间等。本文将详细介绍如何使用Go语言优雅地完成这一任务。......
  • Windows调用系统右键发送到zip打包指定文件
    前言全局说明Windows从XP自带的zip文件压缩/解压工具组件,但使用过程中,只能用鼠标操作,命令行中没有提供相关命令如果想要用命令行打包成zip后缀的,就要调用第三方软件如7z,这样不方便。今天在搜索如何修改右键新建文本名时,发现注册表中有个@zipfldr.dll,-10148应该就是打包......
  • 【C语言】前端未来
    你对前端未来的技术趋势有何看法?例如WebAssembly、WebXR、PWA等。 对未来前端技术趋势的看法,我认为有几个关键方向正在快速发展: WebAssembly(WASM):随着性能需求的增长,WebAssembly作为一种低级字节码运行环境,使得开发者可以编写高性能的原生代码并在浏览器上运行,这将显著......