Cin을 사용하여 사용자로부터 전체 줄 읽기
제공된 C 코드에서 파일에 텍스트 한 줄을 쓰는 것을 목표로 합니다. , 그러나 전체 줄이 아닌 한 단어만 쓰여지는 문제가 발생합니다. 해결책은 코드의 사용자 입력 처리에 있습니다.
코드는 cin >> y를 사용하면 사용자로부터 문자를 읽을 수 있지만 입력한 첫 번째 문자만 캡처합니다. 전체 줄을 읽으려면 다른 접근 방식을 사용해야 합니다.
cin >> 대신 y, 다음 코드를 사용하세요.
string response; getline(cin, response);
이 줄은 getline을 사용하여 사용자로부터 전체 텍스트 줄을 읽습니다. 입력된 텍스트는 문자열 변수 응답에 저장됩니다.
이 변경 사항을 코드에 통합하는 방법은 다음과 같습니다.
char x; cout << "Would you like to write to a file?" << endl; cin >> x; if (x == 'y' || x == 'Y') { string response; cout << "What would you like to write." << endl; getline(cin, response); ofstream file; file.open("Characters.txt"); file << strlen(response.c_str()) << " Characters." << endl; file << endl; file << response; // Now writes the entire line file.close(); cout << "Done. \a" << endl; } else { cout << "K, Bye." << endl; }
getline을 사용하여 전체 줄을 읽으면 이제 효과적으로 다음을 수행할 수 있습니다. 파일에 여러 단어로 된 응답을 작성하세요.
위 내용은 C에서 사용자의 전체 텍스트 줄을 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!