我從我的編譯器「段錯誤:核心轉儲」收到此錯誤。我假設它來自我寫的函數,但不完全確定函數的錯誤。使用輸入文件流的分段錯誤
該程序從輸入文件中讀取,並在屏幕上輸出結果(cout)。
string rna_complement(string line)
{
for(int i = 0; i < line.length(); i++)
{
switch (line[i])
{
case 'A': line[i] = 'U'; break;
case 'C': line[i] = 'G'; break;
case 'G': line[i] = 'C'; break;
case 'U': line[i] = 'A'; break;
}
}
cout <<"Complement: " <<line <<endl;
}
int main()
{
string line1, line2, line3, line4, line5, line6;
ifstream genesacid;
genesacid.open("genes.txt");
if(!genesacid.is_open())
{
cerr <<"Error: File cannot be opened"<<endl;
return 0;
}
else
{
getline(genesacid, line1);
getline(genesacid, line2);
getline(genesacid, line3);
getline(genesacid, line4);
getline(genesacid, line5);
getline(genesacid, line6);
}
cout << "Fragment 1: " <<line1 <<endl;
rna_complement(line1);
cout << "Fragment 2: " <<line2 <<endl;
genesacid.close();
return 0;
}
我不是很擅長C++,所以如果你看到任何錯誤是顯而易見的,請注意這一點。我正在慢慢學習!
你可以一步一步調試找出發生錯誤的位置嗎? – Andrey 2013-03-19 22:15:40
分段故障發生在哪裏? (在哪條線上?) – Jean 2013-03-19 22:15:51
您可以從修復不一致的縮進開始,以便更好地理解代碼 – 2013-03-19 22:16:10