1

.txtファイルから配列に単一のchar値を読み取るプログラムを作成する必要があります。コードを実行すると、奇妙な記号がたくさん表示されます。

ここに画像の説明を入力してください

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
const int NUM_ANS = 10;
char answers[NUM_ANS], student[NUM_ANS];


ifstream correctAnswers;
correctAnswers.open("C:\\Users\\RCLRC115\\Desktop\\student.txt");
int count = 0;
while (count < NUM_ANS && correctAnswers >> answers[count])
    count++;

for (int i = 0; i < NUM_ANS; i++) {
    cout << answers[i] << endl;
}

cin.get();
return 0;
}
4

3 に答える 3

2

ファイルを正しく開いていません。

そのはず

correctAnswers.open("C:\\Users\\RCLRC115\\Desktop\\student.txt");

\文字をエスケープする必要があります

于 2013-03-07T19:49:57.503 に答える
0

correctAnswers.open使用するパスが間違っているため、何かが失敗することがわかります。C および C++ では、文字列内の場合\と同様に入力して、文字をエスケープする必要があることに注意してください\\

ここで重要な教訓があります。操作が成功することを常に確認してください。ifstream::is_open存在し、何らかの理由で値を返します。:)

于 2013-03-07T19:51:05.243 に答える