我需要读入一个文件,然后将其打印到 STDOUT 但双倍行距。到目前为止,我所拥有的是:
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#define BUFSZ 1024
int main(int argc, char* argv[]){
int n, fdin;
char buf[BUFSZ];
if ((fdin=open(argv[1],O_RDONLY))<0){
perror(argv[1]);
exit(-1);
}
while(( n = read(fdin, buf, BUFSZ))>0){
if(write(STDOUT_FILENO,buf,n) != n){
fprintf(stderr, "Write Error\n");
exit(-1);
}
printf("\n");
}
close(fdin);
return(0);
}
我是 C 新手,不知道如何将 \n 实现到代码中,我的 printf("\n") 在尝试将整个文件的内容加倍时毫无用处。我想我必须将 \n 添加到读取中?但我不完全确定这是否正确或如何去做。