Linux/Mint의 txt 파일에서 입력 데이터를 가져 오려고합니다. 따라서 코드를 컴파일 한 후 다음 명령을 실행하십시오. ./a.out output.txt 2 차원 배열을 채울 필요가 있지만 들쭉날쭉 한 배열 (각 행에있는 열의 수가 다릅니다)처럼 작성해야합니다. 그래서 파일에서 읽은 내용을 문자로 나눠서 나누고 싶습니다. 문자가 '\ n'이면 두 번째 줄을 채우고 싶습니다. 하지만 '\ n'문자는 읽을 수 없다고 생각합니다. 문제를 설명 할 수 있기를 바랍니다. 코드를 작성 중입니다. 아마도 더 명확 해집니다.입력 파일에서 ' n'문자를 가져 오는 방법은 무엇입니까?
내 input.txt를 파일은 다음과 같습니다
for (int i = 0; i<n; i++) {
char ch;
cin >> ch;
int j = 0;
while (ch != '\n') {
arr[i][j] = ch;
cin >> ch;
j++;
}
}
문자가있는 경우 나, 그 원하는가 '\ n을 동일 :
내 C++ 코드 부분은 점점 입력입니다 '그 다음 프로그램은 배열을 다음 열로 채 웁니다. 당신이 cin >> ch
을 수행 할 때
arr[0][0] = 'a';
arr[0][1] = 'f'
arr[0][2] = 'h'
arr[1][0] = 'b'
arr[1][1] = 'e'
arr[1][2] = 'g'
arr[2][0] = 'c' .......)
['getline'] (http://www.cplusplus.com/reference/istream/istream/getline/) 라인 – user463035818
하지 말까지 읽 아마,이 벡터를 사용하는 것이 좋을 것이다 당신이 원하는 것을 너무 명확하게하지만, 왜 std :: get()을 사용하지 않을까요? –
'std :: cin' 대신에'std :: ifstream'을 사용하여 텍스트 파일을 입력 할 것을 강력히 권장합니다. 앞에서 언급했듯이 getline은 입력 파일을 읽는 좋은 선택입니다. – EuGENE