题目:
v编写代码,完成以下功能:
v1.创建文件file1,写入字符串“abcdefghijklmn”;
v2.创建文件file2,写入字符串“ABCDEFGHIJKLMN”;
v3.读取file1中的内容,写入file2,使file2中的字符串内容为“abcdefghijklmn ABCDEFGHIJKLMN”
先上代码:
#include<stdio.h>
#include<dirent.h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<fcntl.h>
#include<unistd.h>
int main()
{
char str1[7] = "abcde";
char str2[7] = "ABCDE";
char str3[7];
char str4[15];
int bits;
int fd1 = open("file1.txt",O_RDWR|O_CREAT,S_IRWXU|S_IRWXG|S_IRWXO);
int fd2 = open("file2.txt",O_RDWR|O_CREAT,S_IRWXU|S_IRWXG|S_IRWXO);
bits = write(fd1,str1,5);
bits = write(fd2,str2,5);
lseek(fd1,SEEK_SET,0);
bits = read(fd1,str3,5);
//for(int i=0;i<5;i++)
//printf("%c\t",str3[i]);
lseek(fd2,SEEK_SET,5);
bits = write(fd2,str3,5);
lseek(fd2,SEEK_SET,0);
bits = read(fd2,str4,11);
printf("%d\n",bits);
for(int i=0;i<bits;i++)
printf("%c\t",str4[i]);
printf("\n");
close(fd1);
close(fd2);
return 0;
}
在Linux环境下编译的,注意库的调用。
主要练习文件系统的操作和相关API的的调用。
以下列出需要学习的知识点:
1:文件描述符;
2:open()/create();
3:read() /write();
4:lseek();