linux简单文件操作
1.将数据写入文件
low_open.c
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
void error_handling(const char* message)
{
fputs(message,stderr);
fputc('\n',stderr);
exit(1);
}
int main(int argc, char const *argv[])
{
int fd;
char buf[] = "Let's go!\n";
// if(argc != 2)
// {
// printf("Usage : %s buf\n",argv[0]);
// exit(1);
// }
fd = open("data.txt",O_CREAT|O_WRONLY|O_TRUNC);
if(fd == -1)
error_handling("open() error!");
printf("file descriptor : %d \n", fd );
if(write(fd,buf,sizeof(buf)) == -1)
error_handling("write() error!");
close(fd);
return 0;
}
[root@localhost functions]# gcc low_open.c -o low_open
[root@localhost functions]# ./low_open
file descriptor : 3
2.读取文件中的数据
low_read.c
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#define BUF_SIZE 100
void error_handling(const char* message)
{
fputs(message,stderr);
fputc('\n',stderr);
exit(1);
}
int main(int argc, char const *argv[])
{
int fd;
char buf[BUF_SIZE];
fd = open("data.txt",O_RDONLY);
if(fd == -1)
error_handling("open() error!");
printf("file descriptor: %d\n",fd );
if(read(fd,buf,sizeof(buf)) == -1)
error_handling("read() error");
printf("file data: %s",buf );
close(fd);
return 0;
}
[root@localhost functions]# gcc low_read.c -o low_read
[root@localhost functions]# ./low_read
file descriptor: 3
file data: Let's go!