玉傢伙,我的計劃的目的是從名爲orginal.txt格式包含名稱的文本文件閱讀:分段故障
Kyle Butler
Bob Jones
Nathan Moore
然後該程序需要這些名字一次一個,並把它們轉化成類似:
[email protected]
這個地址,然後通過行存儲線稱爲final.txt
問題是一個新的文本文件,我不能讓它開始工作,它給了我一個segme ntation故障甚至不得到書面final.txt
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void write(char line[100]);
int main()
{
FILE *fp;
fp = fopen("original.txt", "r+");
char line[100];
char mod[30]="@fakeemail.com\n";
while (fgets(line, 100, fp) != NULL){
int i;
for(i=0; i<100; ++i){
if(line[i]==' '){
line[i]='.';
}
if(line[i]=='\n'){
line[i]='\0';
}
strcat(line, mod);
}
FILE *fp2;
fp2 = fopen("final.txt", "a");
if (fp2 != NULL){
fputs(line, fp2);
fclose(fp2);
}
}
fclose(fp);
return 0;
}
段錯在哪裏發生?在這條線上? strcat(line,mod); – canhazbits
作爲升級,您可能需要考慮是否需要爲每次寫入打開和關閉輸出文件。 – Duck
您是否定義了自己的函數'write'?已經有一個名爲'write'的C庫例程。您應該選擇一個更適合我們應用程序的名稱。 '寫'是相當普遍的。 – lurker