사용자가 콘솔을 통해 입력하는 입력을 저장하려고합니다. 그래서 나는 "enter"와 공백을 포함시켜야합니다.전체 입력 행 읽기
그러나 cin
은 첫 번째 공백 다음에 입력을 중단합니다.
CTRL + Z를 누르기 전까지는 전체 줄을 읽는 방법이 있습니까?
사용자가 콘솔을 통해 입력하는 입력을 저장하려고합니다. 그래서 나는 "enter"와 공백을 포함시켜야합니다.전체 입력 행 읽기
그러나 cin
은 첫 번째 공백 다음에 입력을 중단합니다.
CTRL + Z를 누르기 전까지는 전체 줄을 읽는 방법이 있습니까?
거기에 CTRL + Z를 누르기 전까지는 readLines와 같은 방법이 있습니까 ??
네, 정확히 같은, 무료 std::getline
기능 (하지 같은 이름의 istream
방법!)를 사용하여 :
string line;
while (getline(cin, line)) {
// do something with the line
}
이 읽 라인 (공백 포함, 그러나 끝나는 줄 바꿈없이) 입력이 끝나거나 cin
이 오류를 신호 할 때까지 입력에서.
#include <iostream>
#include <string>
using namespace std;
int main()
string s;
while(getline(cin, s)) {
// do something with s
}
}
내 프로그램의 경우 Ctrl + X를 누를 때까지 입력의 모든 단일 문자를 읽는 다음 코드 비트를 작성했습니다. 여기에 코드입니다 : Ctrl + Z를 들어
char a;
string b;
while (a != 24)
{
cin.get(a);
b=b+a;
}
cout << b;
는이를 입력 :
char a;
string b;
while (a != 26)
{
cin.get(a);
b=b+a;
}
cout << b;
나는 UNIX 시스템에있어로 클릭률 (CTR) + Z 솔루션이 작동하는지 확인하고, CTRL 수 없습니다 + z가 프로그램을 종료합니다. 그러나 Windows에서는 작동하지 않을 수도 있습니다. 너 스스로 볼 필요가있어.
버퍼 오버 플로우에 대해 스스로를 설정하고 있습니다. 전혀 안전하지 않습니다. – thecoshman
#include <string>
#include <iostream>
int main()
{
std::cout << "enter your name: ";
std::string name;
std::getline(std::cin, name);
return 0;
}
Welcome to Stack Overflow! 우리가 당신의 대답에 대해 당신에게 감사하지만 그것이 다른 답변들 위에 부가적인 가치를 제공했다면 더 좋을 것입니다. 이 경우 다른 사용자가 이미 해당 솔루션을 게시했기 때문에 귀하의 대답은 추가적인 가치를 제공하지 않습니다. 이전 답변이 도움이 되었다면 동일한 정보를 반복하는 대신 투표를해야합니다. –
당신은 C++
#include<iostream>
using namespace std;
int main()
{
char msg[100];
cin.getline(msg,100);
return 0;
}
가능한 복제에의 getline 기능을 사용할 수 있습니다. http://stackoverflow.com/questions/2765462/how-to-cin-space-in-c – mkaes
검색 중에이 게시물을 찾지 못했습니다. 만약 내가 그랬다면, 또 다른 하나를 게시 할 것이다 ^^ 죄송합니다. 다음 번에 더 많이 보려고합니다. – Katia