创建两个文件,并将文件中对应的数字相加

手动创建两个文本文件text1.txt,text2.txt,要求编程创建text3.txt,实现text1.txt和text2.txt文件中除去首行和末尾,其余对应的数据相加,三个文本的内容如下

text1.txt
begin
10 11 12
20 21 22
30 31 32
end 

text2.txt
begin
15 16 17
25 26 27
35 36 37
end 

text3.txt
begin
25 27 29
45 47 49
65 67 69
end

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#define BUFFERSIZE 1024

int main()
{
    int fd1;
    int fd2;
    int fd3;
    int len1;
    int len2;
    int i;
    int read_bytes;
    int write_bytes;

    char buffer1[BUFFERSIZE];
    char buffer2[BUFFERSIZE];
    char buffer3[BUFFERSIZE];
    char *ptr;

    fd1 = open("text1.txt", O_RDONLY);
    fd2 = open("text2.txt", O_RDONLY);
    fd3 = open("text3.txt", O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);

    len1 = read(fd1, buffer1, BUFFERSIZE);
    len2 = read(fd2, buffer2, BUFFERSIZE);
    while(read_bytes = read(fd1, buffer1, BUFFERSIZE))
    {
        if(-1 == read_bytes) 
        {
            break;
        }
    }
    buffer1[len1] = '\0';
    while(read_bytes = read(fd2, buffer2, BUFFERSIZE))
    {
        if(-1 == read_bytes) 
        {
            break;
        }
    }
    buffer2[len2] = '\0';

    strcpy(buffer3, buffer2);
    i = 0;
    while(buffer2[i] != '\0') 
    {
        if((buffer2[i] >= '0') && (buffer2[i] <= '9'))
        {
            buffer3[i] = buffer1[i] + buffer2[i] - '0';
        }
        i++;
    }

    write(fd3, buffer3, strlen(buffer1));
    printf("%s\n", buffer3);
    close(fd1);
    close(fd2);
    close(fd3);
   
    return 0;
}


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1. 文件权限管理:可以使用chmod命令来修改文件的权限,包括读、写、执行权限,以及文件所有者、所属组和其他用户的权限。 2. 文件系统管理:可以使用文件系统管理命令来创建、删除、格式化、挂载和卸载文件系统,以及对文件系统进行备份和恢复。 3. 磁盘空间管理:可以使用磁盘空间管理命令来查看磁盘使用情况、清理无用文件、调整磁盘分区大小等。 总之,Linux文件/目录高级管理是Linux系统管理的重要组成部分,掌握这些技能可以提高系统管理的效率和安全性。 ### 回答2: Linux 文件/目录的高级管理主要包括文件权限管理、用户与用户组管理以及文件/目录链接管理。 文件权限管理是指通过设置文件的访问权限来控制用户对文件的读、写和执行操作。在Linux系统,每个文件都有访问权限,分为所有者、所属组和其他人三类。通过使用chmod命令可以改变文件的权限。权限包括可读(r)、可写(w)和可执行(x)三种,分别用数字表示为4、2和1,通过为每种权限分配不同的数字,并相加得到权限值。例如,chmod 755 file1 命令将文件file1的所有者设置为可读、可写和可执行,所属组和其他人只可读和可执行。通过文件权限管理,可以有效地保护文件的安全性。 用户与用户组管理是指在Linux系统,对用户和用户组进行创建、修改和删除等操作。每个用户都有一个唯一的用户名和对应的用户ID,用户组是一组具有相同权限的用户的集合。通过使用useradd和userdel命令可以创建和删除用户,使用usermod命令可以修改用户属性。同样,通过groupadd和groupdel命令可以创建和删除用户组,使用groupmod命令可以修改用户组属性。通过用户和用户组管理,可以对不同用户和用户组进行权限的分配,保证文件和目录的安全性。 文件/目录链接管理是指通过链接的方式实现文件/目录的共享或者复制。在Linux系统,存在两种链接:硬链接和软链接。硬链接是通过将文件名与inode号码进行关联,不占用磁盘空间,删除原文件不影响硬链接的访问。软链接是创建一个指向文件的快捷方式,链接文件占用磁盘空间,删除原文件会导致软链接无法访问。通过链接管理,可以实现同一文件/目录在不同位置的访问,提高文件的灵活性和共享性。 总结起来,Linux 文件/目录高级管理主要包括文件权限管理、用户与用户组管理以及文件/目录链接管理。通过合理的管理操作,可以保护文件的安全性,并实现文件/目录的共享和复制。 ### 回答3: Linux文件/目录高级管理主要包括文件权限管理、文件属性管理和文件链接管理。 1. 文件权限管理:Linux系统,每个文件都有一组权限控制其访问和操作。这组权限分为用户权限、组权限和其他用户权限。用户权限分为读取权限(r)、写入权限(w)和执行权限(x),分别表示用户对文件的读取、写入和执行操作。通过chmod命令可以修改文件的权限,例如chmod u+r file可以给文件的所有者增加读取权限。通过chown和chgrp命令可以改变文件的所有者和所属组,例如chown user:group file可以改变文件所有者为user,所属组为group。 2. 文件属性管理:除了基本的文件权限外,Linux还可以通过文件属性来控制文件的访问和操作。这些属性包括文件的隐藏属性、访问时间、修改时间、文件类型等。通过chattr命令可以修改文件的属性,例如chattr +i file可以将文件设置为不可修改的状态。 3. 文件链接管理:在Linux系统文件可以通过链接与其他文件进行关联。主要有硬链接和符号链接两种方式。硬链接创建文件副本,当原文件或者硬链接被修改时,另一个也会随之改变。符号链接则是创建了一个指向原文件的快捷方式,当原文件被删除或者移动时,符号链接则失效。创建链接的命令为ln,例如ln file link创建文件file的硬链接link。 通过对文件/目录的高级管理,我们可以更好地控制文件的访问和操作权限,更灵活地管理文件的属性和链接,保护文件的安全性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值