我想讀取命令行參數中給出的文件,並在讀取後將其刪除。這就是我正在做的。使用取消鏈接刪除文件
char *filename = argv[1];
char *outputfile = strcat(argv[1], ".cmp");
fd = open(argv[1], O_RDONLY);
chars = read(fd, buf, BUFFERSIZE);
fd1 = creat(outputfile, 0644);
write(fd1, buf, BUFFERSIZE);
close(fd1);
close(fd);
unlink(argv[1]);
如果我給在命令行「mytxt」,代碼應該創建「mytxt.cmp」文件並刪除「mytxt」,相反,它是刪除「mytxt.cmp」保持「mytxt」爲它是。爲什麼這樣?如何刪除命令行參數中給出的文件。
我想知道讀了'strcat()'的文檔會受到多大的傷害。 – 2013-02-28 21:55:13
公平地說,沒有人閱讀他們認爲他們理解的事情的文檔,但實際上是錯誤的。 – wilsonmichaelpatrick 2013-02-28 21:59:43
@wilsonmichaelpatrick:我會說太多的情況比這更糟糕:人們不會閱讀文檔,不管他們是否認爲他們理解它,只是在這裏問...... – NotMe 2013-03-01 03:06:16