文章目录
前言
作业要求:根据老师提供的代码,自己进行学习,通过输入代码进行测试,初步了解系统级程序设计的基本要求,对Linux系统下运行c语言程序有一个初步了解
一、学习内容
链接: link.
open函数
#include <fcntl.h>
int open(const char *pathname, int flags[, mode_t mode);
read函数`
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
write函数
#include <unistd.h>
ssize_t write(int fd, void *buf, size_t count);`
lseek函数
#include <unistd.h>
ssize_t write(int fd, off_t offset, int whence);
close函数
#include <unistd.h>
int close(int fd);
`
二、代码输入测试过程
1.代码
代码如下(示例):
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
int main(){
int tempFd = 0;
char tempFileName[20] = "test.txt";
tempFd = open(tempFileName, O_RDWR|O_EXCL|O_TRUNC, S_IRWXG);
if(tempFd == -1){
perror("file open error.\n");
exit(-1);
}//of if
int tempLen = 0;
char tempBuf[100] = {0};
scanf("%s", tempBuf);
tempLen = strlen(tempBuf);
write(tempFd, tempBuf, tempLen);
close(tempFd);
tempFd = open(tempFileName, O_RDONLY);
if(tempFd == -1){
perror("file open error.\n");
exit(-1);
}//of if
off_t tempFileSize = 0;
tempFileSize = lseek(tempFd, 0, SEEK_END);
lseek(tempFd, 0, SEEK_SET);
while(lseek(tempFd, 0, SEEK_CUR)!= tempFileSize){
read(tempFd, tempBuf, 1024);
printf("%s\n", tempBuf);
}//of while
close(tempFd);
return 0;
}//of main
总结
对此次学习进行总结:经过这次的学习,不仅初步了解系统级程序设计的基本要求,对Linux系统下运行c语言程序有一个简单了解,更是首次自己完成自己学习的一个记录过程,规范化变量名命名,临时变量注释能增加代码的可读性。