RNA_complement という関数を作成しました。入力ファイルストリームから既に読み取られた行を取得し、特定の文字を新しい文字に置き換えることになっています (したがって、補完と呼ばれます)。完了したら、結果を出力ファイル ストリーム (出力ファイル) に出力することになっています。
問題は、そのためのコマンドを書いたにもかかわらず、結果をファイルに出力していないことです。通じないのはなぜ?
関数は int main 関数の外で記述され、関数は main 関数内で宣言および初期化されました。
「char* から char への変換が正しくありません」、「文字列を char に変換できません」などのエラーが表示され、イライラします。
コードは次のとおりです。
char RNA_complement(string line)
{
char mychar[50];
ofstream genesacidnew;
for (int i = 0; i < line.length(); i++)
{
line = mychar[i];
if (mychar[i] == 'A')
{
mychar[i]= 'Z';
}
genesacidnew << "Complement: " <<mychar <<endl;
}
}
次に、ここで関数を初期化することにしました
genesacid.open("genes.txt");
if(!genesacid.is_open())
{
cerr <<"Error: File cannot be opened"<<endl;
return -1;
}
else
{
getline(genesacid, line1);
}
genesacid.close();
genesacidnew.open("genesoutput.txt");
if(!genesacidnew.is_open())
{
cerr <<"Error: File cannot be opened"<<endl;
return -1;
}
else
{
genesacidnew<<"Fragment 1: " <<line1 <<endl;
genesacidnew<<"Complement: "<<endl;
}
RNA_complement(line1); /*here*/
genesacidnew.close();