linux系統程式設計CP小測試
CP小測試
目的:把原始檔copy到目標檔案中。
思路:
1.開啟原始檔(src.c)
2.把原始檔內容讀取到快取區中
3.開啟目標檔案(des.c)(沒有就建立)
4.將快取區裡的內容寫到目標檔案裡
5.最後關閉兩個檔案
實現程式碼:
1 #include <stdio.h>
2 #include <sys/types.h>
3 #include <sys/stat.h>
4 #include <fcntl.h>
5 #include <stdlib.h>
6 #include <unistd.h>
7
8 int main(int argc, char **argv)
9 {
10 int fdSrc;
11 int fdDest;
12
13 if(argc != 3)
14 {
15 printf("parameter error\n");
16 exit(-1);
17 }
18
19 fdSrc = open(argv[1], O_RDWR, 0600);//開啟原始檔
20 if(fdSrc == -1)
21 {
22 printf("open error\n");
23 exit(-1);
24 }
25
26 int size = lseek(fdSrc, 0, SEEK_END);//移動游標計算檔案大小
27
28 lseek(fdSrc, 0, SEEK_SET);//讓原始檔游標回到開頭
29
30 char *readBuf = (char *)malloc(sizeof(char)*size);//開闢這麼大的快取區
31
32 int n_read = read(fdSrc, readBuf, size);//從原始檔讀取檔案到快取區
33 if(n_read == -1)
34 {
35 printf("read source file failed\n");
36 exit(-1);
37 }
38
39 printf("read %d byte\n", n_read);
40
41 lseek(fdSrc, 0, SEEK_SET);//讓快取區的游標回到開頭
42
43 fdDest = open(argv[2], O_RDWR|O_CREAT|O_TRUNC, 0600);//開啟或者建立或者幹掉目標檔案裡的內容
44 if(fdDest == -1)
45 {
46 printf("open object file failed\n");
47 exit(-1);
48 }
49
50 int n_write = write(fdDest, readBuf, n_read);//從快取區寫資料到目標檔案
51 if(n_write == -1)
52 {
53 printf("write byte error\n");
54 }
55 printf("write %d byte\n", n_write);
56
57 close(fdSrc);
58 close(fdDest);
59 return 0;
60 }
相關文章
- 【Linux】Linux系統程式設計入門Linux程式設計
- Linux系統程式設計—有名管道Linux程式設計
- Linux系統程式設計基礎Linux程式設計
- Linux系統程式設計入門Linux程式設計
- Linux系統程式設計【4】——檔案系統Linux程式設計
- 【Linux系統程式設計】Linux訊號列表Linux程式設計
- Linux系統程式設計之程式介紹Linux程式設計
- Linux系統程式設計:mmap使用技巧Linux程式設計
- Linux系統程式設計:訊號捕捉Linux程式設計
- Linux系統程式設計之匿名管道Linux程式設計
- Linux系統程式設計—訊號捕捉Linux程式設計
- Linux系統程式設計-檔案IOLinux程式設計
- Linux系統程式設計——特殊程式之孤兒程式Linux程式設計
- 【Linux】關於Linux的系統程式設計總結Linux程式設計
- 微信小程式設計師自動化測試微信小程式程式設計師
- Linux系統——程式設計師跳槽必備Linux程式設計師
- Linux作業系統之Shell程式設計Linux作業系統程式設計
- Linux系統程式設計之檔案IOLinux程式設計
- 門戶系統測試---測試計劃
- 【Linux系統程式設計】libevent庫bufferevent與evconnlistenerLinux程式設計
- Linux系統程式設計【5】——stty的學習Linux程式設計
- Linux系統程式設計【3.1】——編寫ls命令Linux程式設計
- 【linux】系統程式設計-5-執行緒Linux程式設計執行緒
- 【linux】系統程式設計-1-程式、管道和訊號Linux程式設計
- Linux系統程式設計(七)檔案許可權系統呼叫Linux程式設計
- 《Linux系統程式設計訓練營》9_Linux 程式層次分析Linux程式設計
- 《Linux系統程式設計訓練營》8_Linux 終端與程式Linux程式設計
- (Python程式設計 | 系統程式設計 | 並行系統工具 | 程式退出)Python程式設計並行
- 系統設計面試參考-設計Spotify系統面試
- 系統程式設計程式設計
- 《Linux系統程式設計訓練營》5_環境變數程式設計Linux程式設計變數
- Linux系統程式設計—共享記憶體之mmapLinux程式設計記憶體
- 【linux】系統程式設計-2-訊息佇列Linux程式設計佇列
- Linux系統程式設計之程式替換:exec 函式族Linux程式設計函式
- Linux系統程式設計之程式間通訊方式:管道(二)Linux程式設計
- Linux系統程式設計之程式間通訊方式:管道(一)Linux程式設計
- 物聯網教程Linux系統程式設計——特殊程式之殭屍程式Linux程式設計
- 物聯網教程Linux系統程式設計——特殊程式之守護程式Linux程式設計