본문 바로가기

Programming/C++ 2

[C++ 실습] 4장-02. 문자열

반응형
#include <iostream>
using namespace std;
int main()
{
	const int Size = 15;
	char name1[Size];
	char name2[Size] = "C++owboy";

	cout << "안녕하세요! 저는 " << name2;
	cout << "입니다! 실례지만 성함이? \n";
	cin >> name1;
	cout << "아, " << name1 << "씨! 당신의 이름은 ";
	cout << strlen(name1) << "자입니다만 \n"; //배열에 저장된 문자열의 크기 [눈에 보이는 문자만]
	cout << sizeof(name1) << "바이트 크기의 배열에 저장되었습니다. \n"; //사용하고 있는 메모리의 크기
	cout << "이름이 " << name1[0] << "자로 시작하는군요. \n";
	name2[3] = '\0'; //중간에 널 문자 삽입시 뒤 배열은 무시한다.
	cout << "제 이름의 처음 세 문자는 다음과 같습니다."; //C++뒤는 무시하기 때문에 C++ 출력
	cout << name2 << endl;

	return 0;
}


#include <iostream>
using namespace std;
int main()
{
	const int ArSize = 20;
	char name[ArSize];
	char dessert[ArSize];

	cout << "이름을 입력하십시오: \n";
	cin >> name; //name dessert 입력 -> cin은 빈칸/탭/캐리지리턴 즉, 스페이스 있으면 끝난것으로 간주
	cout << "좋아하는 디저트를 입력하십시오 : \n";
	cin >> dessert;
	cout << "맛있는 " << dessert;
	cout << " 디저트를 준비하겠습니다. " << name << " 님!\n";

	return 0;
}

  • cin
    • Line by Line 불가 [한 행으로 처리]
  • Line by Line
    • get()
      • 입력큐에 개행 문자 남겨둠
    • getline()
      • 개행 문자 읽어서 폐기

#include <iostream>
using namespace std;
int main_instr1()
{
	const int ArSize = 20;
	char name[ArSize];
	char dessert[ArSize];

	cout << "이름을 입력하십시오: \n";
	cin.getline(name, ArSize); //cin.getline(저장할 배열이름, 문자의 크기) -> enter키를 \0으로 대체한다.
	cout << "좋아하는 디저트를 입력하십시오 : \n";
	cin.getline(dessert, ArSize);
	cout << "맛있는 " << dessert;
	cout << " 디저트를 준비하겠습니다. " << name << " 님!\n";

	return 0;
}


#include <iostream>
using namespace std;
int main()
{
	const int ArSize = 20;
	char name[ArSize];
	char dessert[ArSize];

	cout << "이름을 입력하십시오: \n";
	cin.get(name, ArSize).get();
	cout << "좋아하는 디저트를 입력하십시오 : \n";
	cin.get(dessert, ArSize).get();
	cout << "맛있는 " << dessert;
	cout << " 디저트를 준비하겠습니다. " << name << " 님!\n";

	return 0;
}

-> get으로 행 문자열을 입력받기 위해선

-> get() & get()으로 여러 단어를 읽는다.


 

#include <iostream>
using namespace std;
int main()
{
	cout << "지금 사시는 아파트에 언제 입주하셨습니까 ? \n";
	int year;
	cin >> year; //cin은 개행문자를 입력큐에 남겨둠
	cout << "주소를 말씀해 주시겠습니까? \n";
	char address[80];
	cin.getline(address, 80); 
    //cin.getline()은 개행문자를 빈행으로 cin>>year; cin.get; / (cin>>year).get();로 해결
	cout << "아파트 입주 연도: " << year << endl;
	cout << "도시: " << address << endl;
	cout << "등록이 완료되었습니다! \n";
	return 0;
}

 

#include <iostream>
using namespace std;
int main()
{
	cout << "지금 사시는 아파트에 언제 입주하셨습니까 ? \n";
	int year;
	cin>>year;
	cin.get();//cin은 개행문자를 입력큐에 남겨두기 때문에 get으로 폐기
	cout << "주소를 말씀해 주시겠습니까? \n";
	char address[80];
	cin.getline(address, 80); 
	cout << "아파트 입주 연도: " << year << endl;
	cout << "도시: " << address << endl;
	cout << "등록이 완료되었습니다! \n";
	return 0;
}

 

#include <iostream>
using namespace std;
int main()
{
	cout << "지금 사시는 아파트에 언제 입주하셨습니까 ? \n";
	int year;
	(cin >> year).get();
	cout << "주소를 말씀해 주시겠습니까? \n";
	char address[80];
	cin.getline(address, 80); //cin.getline()은 개행문자를 빈행으로 cin>>year; cin.get; / (cin>>year).get();
	cout << "아파트 입주 연도: " << year << endl;
	cout << "도시: " << address << endl;
	cout << "등록이 완료되었습니다! \n";
	return 0;
}

 

반응형