멍청한 질문에 죄송하지만 C++을 처음 사용했습니다.간단한 noob I/O 질문 (C++)
한 줄로 된 정보를 파일에서 읽고 일부 계산을 수행하고 다른 파일로 출력해야합니다. 예를 들어, 각 행에 대해 고유 한 ID, 이름 및 2 개의 숫자를 읽습니다. 마지막 2 개 숫자들은 승산, 출력 파일의 ID, 이름, 제품 라인 씩 출력된다
input.txt을 :
2431 John Doe 2000 5
9856 Jane Doe 1800 2
4029 Jack Siu 3000 10
경우 output.txt :
ID Name Total
2431 John Doe 10000
9856 Jane Doe 3600
4029 Jack Siu 30000
내 코드는 이와 비슷하지만 첫 번째 행만 출력 파일에 나타납니다. 나는 반복 Enter
을 누르면 다른 라인은 출력 파일에 나타납니다
Enter
을 누르면하지 않는 한, 다음 프로그램을 종료하지 않는 것이,이다
#include <fstream>
using namespace std;
ifstream cin("input.txt");
ofstream cout("output.txt");
int main() {
int ID, I, J;
string First, Last;
char c;
cout << "ID\tName\t\Total\n";
while ((c = getchar()) != EOF) {
cin >> ID >> First >> Last >> I >> J;
cout << ID << " " << First << " " << Last << " " I * J << "\n";
}
return 0;
}
. 누구든지 키보드 입력없이 작업을 수행하려면 위의 코드에 대한 수정 사항을 제안 할 수 있습니까? 감사!
cin/cout을 다른 것으로 변경하십시오. 읽을 때 혼란스럽고 문제가 발생할 수 있습니다. –
규칙'cin'과'cout'은 ''헤더에'stdin'과'stdout'을 참조하기 위해 정의됩니다. 파일을 입출력에 사용하려면 콘솔의 재 지정 기능인'app < input.txt > output.txt'를 사용하십시오. 이제 앱은 다시 컴파일하지 않고도 다양한 입력 및 출력 파일을 사용할 수 있습니다. –
Eclipse