문자열에 관한 라이브러리가 cstring, string으로 두 가지가 있다.
뒤에 '\0'으로 끝나는 char* 형식을 따르는 C언어 방식의 문자열 라이브러리(cstring)과 std::string을 따르는 라이브러리(string) 이다.
istream& getline(char* s, streamsize n);
istream& getline(char* s, streamsize n, char delim)
- s : C형식 문자열을 저장할 배열을 가리키는 포인터
- n : 저장할 문자열의 최대 개수(끝의 종료 널 문자를 포함한 값). 만약 입력 스트림의 최대 크기에 도달하여 입력이 중단되면 failbit 플래그가 설정됩니다.
- delim : 제한자로 이 문자에 도달시 추출이 중단됩니다. 이때 이 문자는 s에 기록이 되지는 않지만 스트림에서 사라지게 됩니다.
#include <iostream>
#include <fstream> //파일입출력
int main(){
char greeting[100];
cout <<"say sth: ";
cin.getline(greeting, 10);
cout << "greeting console: " << greeting << "\n";
ifstream ifs;
ifs.open("fileinput.txt");
ifs.getline(greeting, 100);
cout << "greeting file: " << greeting;
ifs.close();
return 0;
}
istream& getline(istream& is, string& str);
istream& getline(istream& is, string& str, char delim);
- is : 입력스트림 오브젝트 ex)cin
- str : 입력받은 문자열을 저장할 string 객체
- delim : 제한자로 이 문자에 도달시 추출이 중단됩니다. 이때 문자는 s에 기록되지는 않지만 스트림에서 사라지게 됩니다.
#include <iostream>
#include <string>
#include <fstream>
int main{
string greeting;
getline(cin, greeting);
cout << "console 입력 값: " << greeting << "\n";
ifstream ifs;
ifs.open("fileinput.txt");
getline(ifs, greeting);
cout << "file 입력 값: " << greeting << "\n"
return 0;
}