Linux系统下C语言的文件操作

简介: Linux系统下C语言的文件操作

Linux系统下C语言的文件操作

在Linux系统下,C语言提供了丰富的文件操作函数和系统调用,使得开发者能够轻松地进行文件的读写、创建、删除等操作。以下是一些代码例子,详细说明了在Linux环境下的C语言文件操作。
 1. 文件的创建与写入

#include <stdio.h>
int main() {
    FILE *file = fopen("example.txt", "w");
    if (file == NULL) {
        perror("Error opening file");
        return 1;
    }
    fprintf(file, "Hello, Linux File Operations!");
    fclose(file);
    return 0;
}



 这个示例演示了如何使用fopen函数创建一个文件,使用fprintf向文件写入数据,最后使用fclose关闭文件。如果文件已存在,将会被覆盖。
 2. 文件的读取

#include <stdio.h>
int main() {
    FILE *file = fopen("example.txt", "r");
    if (file == NULL) {
        perror("Error opening file");
        return 1;
    }
    char buffer[100];
    while (fgets(buffer, sizeof(buffer), file) != NULL) {
        printf("%s", buffer);
    }
    fclose(file);
    return 0;
}



 这个示例演示了如何使用fopen函数以只读模式打开文件,使用fgets逐行读取文件内容,并通过printf输出到控制台。
 3. 文件的复制

#include <stdio.h>
int main() {
    FILE *source = fopen("source.txt", "rb");
    FILE *destination = fopen("destination.txt", "wb");
    if (source == NULL || destination == NULL) {
        perror("Error opening files");
        return 1;
    }
    char buffer[4096];
    size_t bytesRead;
    while ((bytesRead = fread(buffer, 1, sizeof(buffer), source)) > 0) {
        fwrite(buffer, 1, bytesRead, destination);
    }
    fclose(source);
    fclose(destination);
    return 0;
}



 这个示例演示了如何使用fopen以二进制模式打开源文件和目标文件,使用fread读取源文件内容,然后使用fwrite写入到目标文件。
 4. 文件的追加

#include <stdio.h>
int main() {
    FILE *file = fopen("example.txt", "a");
    if (file == NULL) {
        perror("Error opening file");
        return 1;
    }
    fprintf(file, "\nAppending more content.");
    fclose(file);
    return 0;
}



 这个示例演示了如何使用fopen函数以追加模式打开文件,使用fprintf向文件追加新的数据,最后使用fclose关闭文件。
 这些例子覆盖了文件的创建、读取、复制和追加等常见操作,展示了在Linux系统下使用C语言进行文件操作的基本用法。这些功能使得我们能够有效地处理文件,为数据的读写、存储和管理提供了灵活而强大的工具。

相关文章
|
6月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
515 3
Linux系统禁用swap
|
6月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1030 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
616 3
Linux系统初始化脚本
|
5月前
|
存储 程序员 C语言
c语言文件操作
本文介绍了C语言中文件操作的核心概念,包括文件缓冲区、数据与程序文件的区别、流的概念及标准输入输出流。重点讲解了文件的打开与关闭、读写操作(如fgetc、fputs、fscanf、fwrite等),以及随机读写函数fseek、ftell和rewind的使用方法。同时说明了文本文件与二进制文件的读取结束判定方式,并通过代码示例展示了实际应用。
|
7月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
450 18
|
6月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
582 1
|
6月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1187 1
|
7月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
1982 10
|
监控 Linux 搜索推荐
Linux 文件操作监控inotify功能及实现原理【转】
转自:http://blog.chinaunix.net/uid-26585427-id-5012973.html 1. inotify主要功能 它是一个内核用于通知用户空间程序文件系统变化的机制。
1392 0