Linux之文件通信
生活随笔
收集整理的這篇文章主要介紹了
Linux之文件通信
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/** 后執(zhí)行,嘗試讀取另外一個(gè)進(jìn)程寫入文件的內(nèi)容*/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <fcntl.h>
#include <string.h>int main(void)
{char buf[1024];char *str = "----------test2 write secesuss--------\n";int ret;sleep(2); //睡眠2秒,保證test1將數(shù)據(jù)寫入test.txt文件int fd = open("test.txt", O_RDWR);//嘗試讀取test.txt文件中test1寫入的數(shù)據(jù)ret = read(fd, buf, sizeof(buf)); //將讀到的數(shù)據(jù)打印至屏幕
write(STDOUT_FILENO, buf, ret);//寫入數(shù)據(jù)到文件test.txth中, 未修改讀寫位置
write(fd, str, strlen(str));printf("test2 read/write finish\n");close(fd);return 0;
}
?
/** 先執(zhí)行,將數(shù)據(jù)寫入文件test.txt*/ #include <stdio.h> #include <unistd.h> #include <fcntl.h> #include <stdlib.h> #include <string.h>#define N 5int main(void) {char buf[1024];char *str = "--------------secesuss-------------\n";int ret;int fd = open("test.txt", O_RDWR|O_TRUNC|O_CREAT, 0664);//直接打開文件寫入數(shù)據(jù) write(fd, str, strlen(str));printf("test1 write into test.txt finish\n");sleep(N);lseek(fd, 0, SEEK_SET);ret = read(fd, buf, sizeof(buf));ret = write(STDOUT_FILENO, buf, ret);if (ret == -1) {perror("write second error");exit(1);}close(fd);return 0; }?
轉(zhuǎn)載于:https://www.cnblogs.com/wanghao-boke/p/11317661.html
總結(jié)
以上是生活随笔為你收集整理的Linux之文件通信的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卡特琳娜哪个皮肤最漂亮
- 下一篇: linux线程操作