입력된 문자열을 어떻게 읽을 수 있나요?
이렇게 하면 공백으로 끝나는 단어 1개를 읽을 수 있습니다.
#include<iostream>
#include<string>
using namespace std;
int main()
{
cout << "Please enter a word:\n";
string s;
cin>>s;
cout << "You entered " << s << '\n';
}
명시적인 메모리 관리가 없다는 것과, 오버플로우를 일으킬 수 있는 고정 사이즈 버퍼가 없다는 것에 주목하세요.
만약 단어 한 개가 아닌 모든 줄을 읽고싶다면 이렇게도 할 수 있습니다.
#include<iostream> #include<string> using namespace std; int main() { cout << "Please enter a line:\n"; string s; getline(cin,s); cout << "You entered " << s << '\n'; }
잠깐 iostream과 string과 같은 표준 라이브러리 기능을 소개하자면, TC++PL3의 챕터 3을 확인하세요. 더 자세한 C와 C++의 입출력에 대한 간단한 비교는, 저의 publications list 에서 다운받을 수 있는 "Learning Standard C++ as a New Language"를 확인하세요
You can read a single, whitespace terminated word like this:
#include<iostream>
#include<string>
using namespace std;
int main()
{
cout << "Please enter a word:\n";
string s;
cin>>s;
cout << "You entered " << s << '\n';
}
Note that there is no explicit memory management and no fixed-sized buffer that you could possibly overflow.
If you really need a whole line (and not just a single word) you can do this:
#include<iostream>
#include<string>
using namespace std;
int main()
{
cout << "Please enter a line:\n";
string s;
getline(cin,s);
cout << "You entered " << s << '\n';
}
For a brief introduction to standard library facilities, such as iostream and string, see Chaper 3 of TC++PL3 (available online). For a detailed comparison of simple uses of C and C++ I/O, see "Learning Standard C++ as a New Language", which you can download from mypublications list
'번역 > Bjarne Stroustrup's C++ Style and Technique FAQ' 카테고리의 다른 글
How are C++ objects laid out in memory? (0) | 2018.05.09 |
---|---|
How do I convert an integer to a string? (0) | 2018.05.09 |
Can you recommend a coding standard? (0) | 2018.01.30 |
How do I write this very simple program? (3) | 2017.08.12 |
목차 (1) | 2017.08.09 |
댓글