C에서는 사용자 입력의 전체 줄을 읽는 것이 어려울 수 있습니다. 이 기사에서는 "cin" 함수를 사용하여 한 줄에서 여러 단어를 읽는 문제를 다룹니다.
사용자에게 한 줄의 텍스트를 입력하라는 메시지를 표시하고 이를 파일에 쓰는 기존 코드가 있습니다. 그러나 현재 코드는 한 번에 한 단어만 읽습니다. 이 문제를 해결하려면 "cin" 대신 "getline()" 함수를 사용해야 합니다.
수정된 코드는 다음과 같아야 합니다.
#include <iostream> #include <cstdlib> #include <cstring> #include <fstream> 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; // Changed data type to string cout << "What would you like to write?" << endl; getline(cin, response); // Using getline() now 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; } return 0; }
여기서 중요한 변경 사항은 "cin >> y" 대신 "getline(cin, response)"를 사용합니다. "getline()"은 공백을 포함하여 한 줄의 텍스트를 읽어 목적에 적합하게 만듭니다.
위 내용은 C에서 getline()을 사용하여 사용자 입력의 전체 행을 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!