cin을 사용하여 사용자로부터 전체 행 읽기
cin을 사용하여 사용자 입력의 전체 행을 읽으려고 할 때 , 개발자는 첫 번째 단어만 캡처되는 문제에 자주 직면합니다. 이 문제를 해결하려면 올바른 라인 추출 방법을 활용하는 것이 중요합니다.
주어진 C 코드에서 cin >> y; 사용자 입력을 수집합니다. 그러나 이 접근 방식은 첫 번째 공백 문자까지만 읽으므로 단일 단어만 캡처하게 됩니다.
입력의 전체 줄을 효과적으로 읽으려면 getline(cin, response) 사용으로 전환하세요. ;. 업데이트된 코드 버전은 다음과 같습니다.
#include <iostream> #include <string> using namespace std; int main() { 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); // Use getline instead of cin >> ofstream file; file.open("Characters.txt"); file << strlen(response) << " Characters." << endl; file << endl; file << response; file.close(); cout << "Done. \a" << endl; } else { cout << "K, Bye." << endl; } }
getline을 활용하면 이제 전체 입력 줄을 효과적으로 캡처하여 단일 단어만 읽는 문제를 해결할 수 있습니다.
위 내용은 왜 `cin`은 사용자 입력의 첫 번째 단어만 읽나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!