ํ์ค์ ๋ ฅ ์ ๊ณต๋ฐฑ๋ฌธ์์ด ์ฒ๋ฆฌ
#include <bits/stdc++.h>
using namespace std;
int main() {
// cin์ ๊ณต๋ฐฑ๋ฌธ์์ด ์ด์
string s1;
cout << "input s1 : ";
cin >> s1;
cout << "s1 is " << s1 << '\n';
// cin ์
๋ ฅ ๋ฒํผ ๋น์ฐ๊ธฐ
cin.ignore();
// ๋๋ ์๋ ๋ฐฉ์
/*
string bufferflush;
getline(cin, bufferflush);
*/
/**
input s1 : hi hello!
s1 is hi
cin ์ ๊ณต๋ฐฑ ๋ฌธ์์ด์ ์ฒ๋ฆฌ ๋ชป ํจ!
*/
// getline ์ ๋ฌธ์์ด์ ๊ณต๋ฐฑ ํฌํจํด์ ์ฒ๋ฆฌํ ์ ์์
string s2;
cout << "input s2 : ";
getline(cin, s2);
cout << "s2 is " << s2 << '\n';
/**
input s2 : hi hello!
s2 is hi hello!
*/
string s3;
cout << "input s3 : ";
getline(cin, s3, '!'); // ์ข
๊ฒฐ๋ฌธ์๋ฅผ '!'๋ก ๋ฐ์์ ๊ทธ ์ ๊น์ง๋ง ๋ฐ์
cout << "s3 is " << s3 << '\n';
/*
input s3 : hi hello!
s3 is hi hello
*/
}
C++
๋ณต์ฌ
ํ์ค ์ ๋ ฅ ์ ์ ๋ ฅ๋ฒํผ ์ฒ๋ฆฌ
#include <bits/stdc++.h>
using namespace std;
int main() {
string str1;
string str2;
// 1. cin -> cin
// ๋ค์ cin์ด ๋ฒํผ์ ๊ณต๋ฐฑ ๋ฐ ๊ฐํ๋ฌธ์ ๋ฌด์ํ๋ฏ๋ก ๋ฒํผ ๋น์์ค ํ์๊ฐ ์๋ค
cin >> str1;
cin >> str2;
cout << str1 << " " << str2 << "\n";
// 2. cin -> getline
// ๋ค์ getline์ ์ ๋ฒํผ์ ๊ณต๋ฐฑ ๋ฐ ๊ฐํ๋ฌธ์๋ฅผ ์
๋ ฅ๋ฐ์ผ๋ฏ๋ก ๋ฒํผ ๋น์์ค์ผ ํ๋ค
cin >> str1;
cin.ignore(); // ๋ฒํผ์ '\n' ๋น์์ฃผ๊ธฐ
getline(cin, str2);
cout << str1 << " " << str2 << "\n";
// 3. getline -> getline ๋๋ cin
// getline์ ์ ์ด์ '\n'์ ์
๋ ฅ์ผ๋ก ์ ๋ฐ์ผ๋ฏ๋ก ๋ฒํผ ๋น์์ค ํ์๊ฐ ์๋ค.
getline(cin, str1);
getline(cin, str2);
cout << str1 << " " << str2 << "\n";
}
C++
๋ณต์ฌ
์ ์ถ๋ ฅ ์๊ฐ ์ค์ด๊ธฐ
โข
ios::sync_with_stdio(0)
: C stream ๊ณผ C++ stream ์ ๋๊ธฐํ๋ฅผ ํด์
โ cin/cout ๊ณผ scanf/printf ์์ด์ ์ฐ๋ฉด ์ ๋จ
โข
cin.tie(0)
: cin ๋ช
๋ น์ด๋ฅผ ์ํํ๊ธฐ ์ ์ cout ๋ฒํผ ๋น์ฐ์ง ์๋๋ก ํจ
๊ธฐ๋ณธ์ ์ผ๋ก๋ ์
๋ ฅ์ ๋ฐ๊ธฐ ์ ์ cout ๋ฒํผ๋ฅผ ๋น์์ค์ผ๋ก์จ ์
๋ ฅ๊ณผ ์ถ๋ ฅ ์์๋ฅผ ๋ง์ถฐ์ฃผ๋๋ฐ ์ฝ๋ฉํ
์คํธ์์๋ ๊ทธ๋ด ํ์๊ฐ ์๋ค.
โข
endl ๋์ \n ์ฐ๊ธฐ
: endl ์ฐ์ง ๋ง๊ฒ