我的代碼在某種程度上工作正常。雖然我有兩個問題。一,在將文件打印到標準輸出結束時,它給我一個分段錯誤。在c - wwwmc中實現'cat'? (我的代碼出了什麼問題)
二,我不能使用fputs打印出數據,因爲我馬上得到了分段錯誤。因此,爲了解決這個問題,我使用了可以很好地打印它的puts,但在每行將文本單行隔開以及最終導致seg錯誤後添加'\ n'。
#include <stdio.h>
#include <string.h>
void concat(char *arg){
char string[256];
FILE *fp = fopen(arg, "r");
while(!feof(fp)){
fgets(string, 256, fp);
//fputs(string, fp);
puts(string);
}
fclose(fp);
}
void stdincat(){
char string[256];
while(!feof(stdin)){
fgets(string, 256, stdin);
fputs(string, stdout);
}
}
int main(int argc, char *argv[]){
char argvalues[256][40];
if(argv[1] == NULL)
stdincat();
else if(argv[1] != NULL){
int i;
for(i=1;i<=(argc);i++){
concat(argv[i]);
}
}
return 0;
}
謝謝! fgets問題只是盲目編碼。我很尷尬,我沒有看到.. 現在一切正常。謝謝! – jonalmeida