cout << "This " << " is a " << "single C++ statement";
์ด์ ์น์
์ ์์ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ์์์ ์ํธ ์์ฉ์ด ๊ฑฐ์ ์์์ต๋๋ค(์๋ ๊ฒฝ์ฐ). ๊ทธ๋ค์ ๋จ์ํ ํ๋ฉด์ ๊ฐ๋จํ ๊ฐ์ ์ธ์ํ์ง๋ง ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์
๋ ฅ/์ถ๋ ฅ ๊ธฐ๋ฅ์ ํตํด ์ฌ์ฉ์์ ์ํธ ์์ฉํ ์ ์๋ ๋ง์ ์ถ๊ฐ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ์ด ์น์
์์๋ ๊ฐ์ฅ ์ ์ฉํ ๋ช ๊ฐ์ง์ ๋ํ ๊ฐ๋ตํ ์๊ฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ํ๊ฒฝ์์ ๋ฌธ์์ ํ์ค ์์ค ๋ฐ ๋์์ผ๋ก ๊ฐ์ฃผ๋๋ ํญ๋ชฉ์ ์ก์ธ์คํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์์์ ์คํธ๋ฆผ ๊ฐ์ฒด๋ฅผ ์ ์ํฉ๋๋ค.
stream | description |
cin | standard input stream |
cout | standard output stream |
cerr | standard error (output) stream |
clog | standard logging (output) stream |
cout์ฐ๋ฆฌ๋ (ํ์ค ์ถ๋ ฅ ๋ฐ cin์ ๋ ฅ ์คํธ๋ฆผ)์ ๋ํด์๋ง ๋ ์์ธํ ๋ณผ ๊ฒ์ ๋๋ค .
std::cout
cout << "Output sentence"; // prints Output sentence on screen
cout << 120; // prints number 120 on screen
cout << x; // prints the value of x on screen
<< ์ฐ์ฐ์๋ ๋ค์ ์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๋ ์คํธ๋ฆผ์ ์ฝ์ ํฉ๋๋ค. ์์ ์์์ ๋ฆฌํฐ๋ด ๋ฌธ์์ด Output sentence, ์ซ์ 120๋ฐ ๋ณ์ ๊ฐ์ xํ์ค ์ถ๋ ฅ ์คํธ๋ฆผ์ ์ฝ์ coutํ์ต๋๋ค. "์ฒซ ๋ฒ์งธ ๋ฌธ์ฅ์ ๋ฌธ์ฅ ์ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ด๊ธฐ ๋๋ฌธ์ ํฐ๋ฐ์ดํ( )๋ก ๋ฌถ์ฌ ์์ง๋ง ๋ง์ง๋ง ๋ฌธ์ฅ์์๋ x๊ทธ๋ ์ง ์์ต๋๋ค.
ํฐ๋ฐ์ดํ๋ ์ฐจ์ด๋ฅผ ๋ง๋ญ๋๋ค. ํ ์คํธ๊ฐ ๊ทธ ์ฌ์ด์ ์์ผ๋ฉด ํ ์คํธ๊ฐ ๋ฌธ์ ๊ทธ๋๋ก ์ธ์๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ํ ์คํธ๋ ๋ณ์์ ์๋ณ์๋ก ํด์๋๊ณ ๊ทธ ๊ฐ์ด ๋์ ์ธ์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ด ๋ ๋ฌธ์ฅ์ ๊ฒฐ๊ณผ๊ฐ ๋งค์ฐ ๋ค๋ฆ ๋๋ค.
cout << "Hello"; // prints Hello
cout << Hello; // prints the content of variable Hello
์ฌ๋ฌ ์ฝ์ ์์ (<<)์ ๋จ์ผ ๋ฌธ์ผ๋ก ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
cout << "This " << " is a " << "single C++ statement";
์ด ๋ง์ง๋ง ๋ฌธ์ ํ ์คํธ๋ฅผ ์ธ์ํฉ๋๋ค This is a single C++ statement. ์ฐ๊ฒฐ ์ฝ์ ์ ๋จ์ผ ๋ช ๋ น๋ฌธ์์ ๋ฆฌํฐ๋ด๊ณผ ๋ณ์๋ฅผ ํผํฉํ๋ ๋ฐ ํนํ ์ ์ฉํฉ๋๋ค.
cout << "I am " << age << " years old and my zipcode is " << zipcode;
age ๋ณ์์ ๊ฐ 24๊ฐ ํฌํจ๋์ด ์๊ณ zipcode ๋ณ์์ 90064๊ฐ ํฌํจ๋์ด ์๋ค๊ณ ๊ฐ์ ํ๋ฉด ์ด์ ๋ฌธ์ ์ถ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
I am 24 years old and my zipcode is 90064
์ค ๋ฐ๊ฟ์ ์ฝ์
ํ๋ ค๋ฉด ์ค์ ๋์ด์ผ ํ๋ ์ ํํ ์์น์ ์ค ๋ฐ๊ฟ ๋ฌธ์๋ฅผ ์ฝ์
ํด์ผ ํฉ๋๋ค. C++์์ ๊ฐํ ๋ฌธ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ง์ ํ ์ ์์ต๋๋ค \n(์ฆ, ๋ฐฑ์ฌ๋์ ๋ฌธ์ ๋ค์์ ์๋ฌธ์๊ฐ ์ด n). ์๋ฅผ ๋ค์ด:
cout << "First sentence.\n";
cout << "Second sentence.\nThird sentence.";
๊ทธ๋ฌ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ถ๋ ฅ์ด ์์ฑ๋ฉ๋๋ค.
First sentence.
Second sentence.
Third sentence.
๋๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ std::endl ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ์ ๋๋ค.
cout << "First sentence." << endl;
cout << "Second sentence." << endl;
์ด๋ ๊ฒ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ธ์๋ฉ๋๋ค.
First sentence.
Second sentence.
ํ์ค ์ ๋ ฅ(cin)
ํ์์ด ์ง์ ๋ ์ ๋ ฅ ์์ cin์ ๊ฒฝ์ฐ ์ถ์ถ ์ฐ์ฐ์์ ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค >> ์ด ์ฐ์ฐ์ ๋ค์์ ์ถ์ถ๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๋ณ์๊ฐ ์ต๋๋ค. ์๋ฅผ ๋ค์ด:
int age;
cin >> age
์ถ์ถ ์์
cin์ ๋ค์์ ๋ณ์ ์ ํ์ ์ฌ์ฉํฉ๋๋ค.>>์ฐ์ฐ์๊ฐ ์
๋ ฅ์์ ์ฝ์ ๋ฌธ์๋ฅผ ํด์ํ๋ ๋ฐฉ๋ฒ์ ๊ฒฐ์ ํฉ๋๋ค. ์ ์์ธ ๊ฒฝ์ฐ ์์๋๋ ํ์์ ์ผ๋ จ์ ์ซ์, ๋ฌธ์์ด์ธ ๊ฒฝ์ฐ ์ผ๋ จ์ ๋ฌธ์ ๋ฑ์
๋๋ค.
// i/o example
#include <iostream>
using namespace std;
int main ()
{
int i;
cout << "Please enter an integer value: ";
cin >> i;
cout << "The value you entered is " << i;
cout << " and its double is " << i*2 << ".\n";
return 0;
}
๋ณด์๋ค์ํผ ์์ ์ถ์ถ cinํ๋ฉด ํ์ค ์
๋ ฅ์์ ์
๋ ฅ์ ๋ฐ๋ ์์
์ด ๋งค์ฐ ๊ฐ๋จํ๊ณ ๊ฐ๋จํด์ง๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ฐฉ๋ฒ์๋ ํฐ ๋จ์ ์ด ์์ต๋๋ค. ์์ ์์์ ์ฌ์ฉ์๊ฐ ์ ์๋ก ํด์ํ ์ ์๋ ๋ค๋ฅธ ๊ฒ์ ์
๋ ฅํ๋ฉด ์ด๋ป๊ฒ ๋ฉ๋๊น? ์, ์ด ๊ฒฝ์ฐ ์ถ์ถ ์์
์ ์คํจํฉ๋๋ค. ์ด๊ฒ์ ๋งค์ฐ ๋ถ๋ํ ํ๋ก๊ทธ๋จ ๋์์
๋๋ค. ๋๋ถ๋ถ์ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ์๊ฐ ๋ฌด์์ ์
๋ ฅํ๋ ์์๋๋ก ์๋ํ์ฌ ์ ํจํ์ง ์์ ๊ฐ์ ์ ์ ํ๊ฒ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. ์์ฃผ ๊ฐ๋จํ ํ๋ก๊ทธ๋จ๋ง ์ถ๊ฐ ๊ฒ์ฌ ์์ด ์ง์ ์ถ์ถํ ๊ฐ์ ์์กดํด์ผ ํฉ๋๋ค . ์กฐ๊ธ ํ์ ์ฐ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ๋ณผ ๊ฒ์
๋๋คi
๋จ์ผ ๋ช
๋ น๋ฌธ์์ ๋ ์ด์์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ธฐ ์ํด ์ถ์ถ ์ ์ฐ๊ฒฐํ ์๋ ์์ต๋๋ค.
cin >> a >> b;
์ด๊ฒ์ ๋ค์๊ณผ ๋์ผํฉ๋๋ค.
cin >> a;
cin >> b;
๋ ๊ฒฝ์ฐ ๋ชจ๋, ์ฌ์ฉ์๋ ๋ ๊ฐ์ ๊ฐ์ ๋์
ํด์ผ ํฉ๋๋ค. ํ๋๋ ๋ณ์ a์ฉ์ด๊ณ ๋ค๋ฅธ ํ๋๋ ๋ณ์์ฉ b์
๋๋ค. ๋ชจ๋ ์ข
๋ฅ์ ๊ณต๋ฐฑ์ ๋ ๊ฐ์ ์ฐ์ ์
๋ ฅ ์์
์ ๊ตฌ๋ถํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๊ฒ์ ๊ณต๋ฐฑ, ํญ ๋๋ ๊ฐํ ๋ฌธ์์ผ ์ ์์ต๋๋ค.
์ ๊ณผ ๋ฌธ์์ด
์ถ์ถ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉ cinํ์ฌ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ํ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ๋ฌธ์์ด์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
string mystring;
cin >> mystring;
๊ทธ๋ฌ๋ cin์ถ์ถ์ ํญ์ ๊ณต๋ฐฑ(๊ณต๋ฐฑ, ํญ, ๊ฐํ...)์ ์ถ์ถ๋๋ ๊ฐ์ ์ข
๋ฃ๋ก ๊ฐ์ฃผํ๋ฏ๋ก ๋ฌธ์์ด์ ์ถ์ถํ๋ค๋ ๊ฒ์ ๊ตฌ ๋๋ ์ ์ฒด ๋ฌธ์ฅ์ด ์๋ ํญ์ ๋จ์ผ ๋จ์ด๋ฅผ ์ถ์ถํ๋ค๋ ์๋ฏธ์
๋๋ค.
์์ ์ ์ฒด ์ค์ ๊ฐ์ ธ์ค๊ธฐ ์ํด ์คํธ๋ฆผ( )์ ์ฒซ ๋ฒ์งธ ์ธ์๋ก ์ฌ์ฉํ๊ณ ๋ฌธ์์ด ๋ณ์๋ฅผ ๋ ๋ฒ์งธ ์ธ์๋ก ์ฌ์ฉ ํ๋ cin์ด๋ผ๋ ํจ์๊ฐ ์์ต๋๋ค . ์๋ฅผ ๋ค์ด:getlinecin
// cin with strings
#include <iostream>
#include <string>
using namespace std;
int main ()
{
string mystr;
cout << "What's your name? ";
getline (cin, mystr);
cout << "Hello " << mystr << ".\n";
cout << "What is your favorite team? ";
getline (cin, mystr);
cout << "I like " << mystr << " too!\n";
return 0;
}
์ ๋ํ ๋ ํธ์ถ ๋ชจ๋ getline์์ ๋์ผํ ๋ฌธ์์ด ์๋ณ์( mystr)๋ฅผ ์ฌ์ฉํ ๋ฐฉ๋ฒ์ ์ฃผ๋ชฉํ์ญ์์ค. ํ๋ก๊ทธ๋จ์ด ๋ ๋ฒ์งธ ํธ์ถ์์ ํ๋ ์ผ์ ๋จ์ํ ์ด์ ๋ด์ฉ์ ์๋ก ๋์
๋ ๋ด์ฉ์ผ๋ก ๋ฐ๊พธ๋ ๊ฒ์
๋๋ค.
๋๋ถ๋ถ์ ์ฌ์ฉ์๊ฐ ์ฝ์ ํ๋ก๊ทธ๋จ์์ ๊ธฐ๋ํ๋ ํ์ค ๋์์ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉ์์๊ฒ ์
๋ ฅ์ ์ฟผ๋ฆฌํ ๋๋ง๋ค ์ฌ์ฉ์๊ฐ ํ๋๋ฅผ ์๊ฐํ ๋ค์ ENTER(๋๋ RETURN)์ ๋๋ฅด๋ ๊ฒ์
๋๋ค. ์ฆ, ์
๋ ฅ์ ์ผ๋ฐ์ ์ผ๋ก ์ฝ์ ํ๋ก๊ทธ๋จ์ ์ค ๋จ์๋ก ๋ฐ์ํ๋ ๊ฒ์ผ๋ก ์์๋๋ฉฐ, ์ด๋ ๋ฅผ ์ฌ์ฉ getlineํ์ฌ ์ฌ์ฉ์๋ก๋ถํฐ ์
๋ ฅ์ ์ป์์ผ๋ก์จ ๋ฌ์ฑํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ํ์ง ๋ง์์ผ ํ ๊ฐ๋ ฅํ ์ด์ ๊ฐ ์๋ ํ getline์์ ์ถ์ถํ๋ ๋์ ์ฝ์ ํ๋ก๊ทธ๋จ์์ ํญ์ ๋ฅผ ์ฌ์ฉํ์ฌ ์
๋ ฅ์ ๊ฐ์ ธ์์ผ ํฉ๋๋ค.
๋ฌธ์์ด ์คํธ๋ฆผ
ํ์ค ํค๋ ๋ ๋ฌธ์์ด์ ์คํธ๋ฆผ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋๋ก <sstream>ํ๋ ํ์์ ์ ์ ํ๋ฏ๋ก ๋ฐ stringstream์์ ์ํ๋๋ ๊ฒ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ๋ฌธ์์ด์์ ์ถ์ถ ๋๋ ์ฝ์ ์์ ์ ์ํํ ์ ์์ต๋๋ค . ์ด ๊ธฐ๋ฅ์ ๋ฌธ์์ด์ ์ซ์ ๊ฐ์ผ๋ก ๋๋ ๊ทธ ๋ฐ๋๋ก ๋ณํํ๋ ๋ฐ ๊ฐ์ฅ ์ ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฌธ์์ด์์ ์ ์๋ฅผ ์ถ์ถํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์ ์์ต๋๋ค.cincout
string mystr ("1204");
int myint;
stringstream(mystr) >> myint;
string์ด๊ฒ์ ์ ๊ฐ์ผ๋ก ์ด๊ธฐํ๋ ์ "1204"์ ํ์ ๋ณ์๋ฅผ ์ ์ธํฉ๋๋ค int. ๊ทธ๋ฐ ๋ค์ ์ธ ๋ฒ์งธ ์ค์ ์ด ๋ณ์๋ฅผ ์ฌ์ฉ stringstreamํ์ฌ ๋ฌธ์์ด์์ ์์ฑ๋ ํญ๋ชฉ์ ์ถ์ถํฉ๋๋ค. ์ด ์ฝ๋ ์กฐ๊ฐ์ 1204๋ผ๋ ๋ณ์์ ์ซ์ ๊ฐ์ ์ ์ฅํฉ๋๋ค myint.
// stringstreams
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main ()
{
string mystr;
float price=0;
int quantity=0;
cout << "Enter price: ";
getline (cin,mystr);
stringstream(mystr) >> price;
cout << "Enter quantity: ";
getline (cin,mystr);
stringstream(mystr) >> quantity;
cout << "Total price: " << price*quantity << endl;
return 0;
}
์ด ์์์๋ ํ์ค ์
๋ ฅ ์์ ๊ฐ์ ์ ์ผ๋ก ์ซ์ ๊ฐ์ ์ป์ต๋๋ค. ์์ ์ซ์ ๊ฐ์ ์ง์ ์ถ์ถํ๋ ๋์ cin๋ฌธ์์ด ๊ฐ์ฒด( mystr)๋ก ์ค์ ๊ฐ์ ธ์จ ๋ค์ ์ด ๋ฌธ์์ด์์ ๋ณ์ price๋ฐ ๋ก ๊ฐ์ ์ถ์ถํฉ๋๋ค quantity. ์ด๊ฒ์ด ์ซ์ ๊ฐ์ด๋ฉด ์ด ๊ฐ๊ฒฉ์ ์ป๊ธฐ ์ํด ๊ณฑํ๋ ๊ฒ๊ณผ ๊ฐ์ ์ฐ์ ์ฐ์ฐ์ ์ํํ ์ ์์ต๋๋ค.
์ ์ฒด ๋ผ์ธ์ ๊ฐ์ ธ์ค๊ณ ๋ด์ฉ์ ์ถ์ถํ๋ ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ํตํด ์ฌ์ฉ์ ์
๋ ฅ์ ์ป๋ ํ๋ก์ธ์ค๋ฅผ ๋ฐ์ดํฐ๋ก ํด์ํ๋ ๊ณผ์ ์ ๋ถ๋ฆฌํ์ฌ ์
๋ ฅ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉ์๊ฐ ๊ธฐ๋ํ๋ ๊ฒ์ด ๋๋๋ก ํ๊ณ ๋์์ ํด๋น ๋ผ์ธ์ ๋ณํ์ ๋ํด ๋ ๋ง์ ์ ์ด ๊ถํ์ ์ป์ต๋๋ค. ์ฝํ
์ธ ๋ฅผ ํ๋ก๊ทธ๋จ์ ์ํด ์ ์ฉํ ๋ฐ์ดํฐ๋ก ๋ณํํฉ๋๋ค.
'๐ Development Study > ๐ป Win32API' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํจ์ (0) | 2022.08.18 |
---|---|
๋ช ๋ น๋ฌธ ๋ฐ ํ๋ฆ ์ ์ด (0) | 2022.08.18 |
์ฐ์ฐ์ (0) | 2022.08.17 |
์์ (0) | 2022.08.17 |
๋ณ์ ๋ฐ ์ ํ (0) | 2022.08.17 |
๋๊ธ