c_cpp “Linux的环境高级编程”作业1
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp “Linux的环境高级编程”作业1相关的知识,希望对你有一定的参考价值。
#include <iostream>
#include <fcntl.h>
#include <unistd.h>
#include <cstring>
using namespace std;
int main() {
const char* filePath = "/home/developerdong/task1.txt";
const char* fileContent = "abcdefghijklmnopqrstuvwxyz";
unsigned long contentLength = strlen(fileContent);
int file = open(filePath, O_RDWR|O_CREAT|O_APPEND, 0777);
if (file != -1){
//首先写入测试数据
long writedNum = write(file, fileContent, contentLength);
if(writedNum != -1){
//记录修改前和修改后的偏移量
long oldPosition = lseek(file, 0, SEEK_CUR);
long newPosition = lseek(file, 0, SEEK_SET);
//如果修改前后偏移量相同,则说明以O_APPEND选项打开文件时不能修改偏移量
if(oldPosition == newPosition){
cout<<"不能修改偏移量"<<endl;
}
else{
cout<<"可以修改偏移量"<<endl;
char readContent[contentLength];
long readNum = read(file, readContent, contentLength);
//如果修改后读操作从文件尾部开始读,则读出数据的长度应该为0,否则说明从修改后偏移量开始读
if(readNum > 0){
cout<<"修改后读操作从修改后的偏移量开始读"<<endl;
}
else{
cout<<"修改后读操作从文件尾部读"<<endl;
}
}
}
else{
cout<<"写入测试数据失败"<<endl;
}
close(file);
}
else{
cout<<"打开文件失败"<<endl;
}
return 0;
}
以上是关于c_cpp “Linux的环境高级编程”作业1的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp “Linux的环境高级编程”作业2
c_cpp 第1周为C程序员编写的C ++作业
c_cpp 给定Ñ个作业的集合{J1,J2,......,JN}。每个作业必须先由机器1处理,然后由机器2处理。作业籍需要机器Ĵ的处理时间为TJI。对于一个确定的作业调度,设Fji是作业我在
c_cpp 给定Ñ个作业的集合{J1,J2,......,JN}。每个作业必须先由机器1处理,然后由机器2处理。作业籍需要机器Ĵ的处理时间为TJI。对于一个确定的作业调度,设FJI是作业我在
c_cpp 【分支限界法】批处理作业调度
c_cpp 【动态规划】流水作业调度【3.9】