テキストファイルから読み込み、特殊文字を削除するプログラムを作成しました。私はifステートメントをより良くコーディングすることはできません。助けてください。私は正しいコードステートメントをオンラインで検索しましたが、すべての高度なコードステートメントがあります。私が学んでいる本には、文字列とファイルのオープンとクローズの最後の(14章)章があります。私は特別な文字の配列を作成しようとしましたが、うまくいきませんでした。私を助けてください!C++紹介:自己学習
int main()
{
string paragraph = "";
string curChar = "";
string fileName = "";
int subscript=0;
int numWords=0;
ifstream inFile; //declaring the file variables in the implement
ofstream outFile;
cout << "Please enter the input file name(C:\owner\Desktop\para.txt): " << endl;
cin >> fileName;
inFile.open(fileName, ios::in); //opening the user entered file
//if statement for not finding the file
if(inFile.fail())
{
cout<<"error opening the file.";
}
else
{
getline(inFile,paragraph);
cout<<paragraph<<endl<<endl;
}
numWords=paragraph.length();
while (subscript < numWords)
{
curChar = paragraph.substr(subscript, 1);
if(curChar==","||curChar=="."||curChar==")"
||curChar=="("||curChar==";"||curChar==":"||curChar=="-"
||curChar=="\""||curChar=="&"||curChar=="?"||
curChar=="%"||curChar=="$"||curChar=="!"||curChar==" ["||curChar=="]"||
curChar=="{"||curChar=="}"||curChar=="_"||curChar==" <"||curChar==">"
||curChar=="/"||curChar=="#"||curChar=="*"||curChar=="_"||curChar=="+"
||curChar=="=")
{
paragraph.erase(subscript, 1);
numWords-=1;
}
else
subscript+=1;
}
cout<<paragraph<<endl;
inFile.close();
あなたが与えられた文字の文字列を検索し
strchr
関数に見たいと思うかもしれません
(a)コードを書式設定し、(b)コード全体を貼り付けると役立ちます。あなたが掲示したコードで中括弧はバランスが取れていません。また、「うまくいきませんでした」と説明する必要があります。何がうまくいかなかったのですか?それはコンパイルされませんでしたか?走らなかったの?それは実行されたが間違った結果を与えるか?走ったのですが、正しい結果を出してクラッシュしましたか? –
あなたはここでより具体的にする必要があります:何がうまくいかないのですか?それはコンパイルに失敗しますか?もしそうなら、エラーメッセージは何ですか?期待される行動は何ですか? – ereOn
私はこれを正しく理解していません。つまり、ファイルを読み込み、特定の文字を削除して閉じることですが、上記のコードは機能しません。 –