我試圖複製文件以僅使用open()
,read()
和write()
向後打印。 但是我想知道是否有一種方法可以從讀取中獲取char指針,該指針返回讀取的字節數。如果讓我怎麼去這樣做,我已經試過一次,但我結束了一個錯誤如何從讀取字符()
error: invalid type argument of ‘unary *’ (have ‘ssize_t’)
這是代碼片段我使用
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main (int argc, char *argv[])
{
if(argc != 3)/*argc should be 2 for correct execution*/
{
printf("usage: %s filename",argv[0]);
}
else
{
int file1 = open(argv[1], O_RDWR);
if(file1 == -1){
printf("\nfailed to open file.");
return 1;
}
int reversefile = open(argv[2], O_WRONLY, O_CREAT);
int size =(int)lseek(file1, 0, SEEK_END)+1;
char file2[size];
int count=size;
int i = 0;
while(read(file1, &file2[count], 1) != 0)
{
*file2[i]=*read(file1, file[count], 1);
write(reversefile, file2[i], size+1);
count--;
i++;
lseek(reversefile, i, SEEK_SET);
}
}
'O_RDWR | O_CREAT'? – Duck
創建一個讀寫文件。我輸錯了嗎? – user2872131
您是否需要閱讀輸出文件? – Duck