C++의 sstream 표준 라 이브 러 리 상세 설명
istringstream 클래스 는 C++스타일 의 직렬 입력 작업 을 수행 하 는 데 사 용 됩 니 다.ostringstream 클래스 는 C 스타일 의 직렬 출력 작업 을 수행 하 는 데 사 용 됩 니 다.strstream 클래스 는 C 스타일 의 직렬 입 출력 동작 을 지원 합 니 다.
istrings tream 류 는 istream(입력 흐름 류)과 stringstreambase(c+문자열 흐름 기 류)에서 파생 되 었 으 며,ostrings tream 은 ostream(출력 흐름 류)과 stringstreambase(c+문자열 흐름 기 류)에서 파생 되 었 으 며,stringstream 은 iostream(입력 흐름 류)과 stringstreambase(c+문자열 흐름 기 류)에서 파생 되 었 다.
그들의 계승 관 계 는 다음 그림 과 같다.
istringstream 은 string 대상 으로 구성 되 어 있 으 며,istringstream 류 는 string 대상 에서 문 자 를 읽 습 니 다.
istringstream 의 구조 함 수 는 다음 과 같다.istringstream:istringstream(string str);
#include <iostream >
#include <sstream >
using namespace std;
int main ()
{
istringstream istr;
istr.str("1 56.7",);
// istringstream istr("1 56.7");
cout << istr.str()<<endl;
int a;
float b;
istr>>a;
cout <<a<<endl;
istr>>b;
cout <<b<<endl;
system("pause");
}
상례 에서 구조 문자 가 직렬 로 흐 를 때 빈 칸 은 문자열 매개 변수의 내부 경계 가 된다.예 를 들 어 a,b 대상 에 대한 입력'할당'작업 은 이 점 을 증명 했다.문자열 의 빈 칸 은 정형 데이터 와 부동 소수점 데이터 의 분해 점 이 되 었 다.경 계 를 나 누 어 얻 는 방법 을 이용 하여 우 리 는 사실상 문자열 을 정형 대상 과 부동 소수점 대상 으로 나 누 어 변환 하 는 과정 을 완성 하 였 다.str()구성원 함수 의 사용 은 istringstream 대상 에 게 string 문자열 을 되 돌려 줄 수 있 습 니 다(예 를 들 어 이 예 에서 의 출력 작업(cout<
ostringstream 의 구조 함 수 는 다음 과 같다.ostringstream:ostringstream(string str);
예제 코드 는 다음 과 같다.그러면 성장 작업 을 할 때 엔 딩 부터 늘 어 나 지 않 고 기 존 데 이 터 를 수정 해 초과 한 부분 이 늘 어 납 니 다.
stringstream 에 있어 서 제 가 더 말 하지 않 아 도 C+스타일 의 문자열 의 입 출력 에 사용 되 는 것 을 이미 알 고 있 습 니 다.
stringstream 의 구조 함 수 는 다음 과 같다.stringstream:stringstream(string str);
예제 코드 는 다음 과 같다.
예제 코드 는 다음 과 같다
#include <iostream >
#include <sstream >
#include <string >
using namespace std;
int main ()
{
ostringstream ostr;
//ostr.str("abc");// , , ,
ostr.put('d');
ostr.put('e');
ostr<<"fg";
string gstr = ostr.str();
cout <<gstr;
system("pause");
}
다음은 입 출력 상태 표지 에 관 한 지식 을 배 워 보 자.C+에서 담당 하 는 입 출력 시스템 은 모든 입 출력 작업 결과 에 대한 기록 정 보 를 포함한다.이 현재 상태 정 보 는 io 에 포함 되 어 있 습 니 다.state 형식의 대상 중.io_state 는 매 거 진 형식 입 니 다(open 와 같 습 니 다.mode 와 마찬가지)다음은 그것 이 포함 하 는 값 입 니 다.goodbit 오류 없 음 Eofbit 파일 끝 에 도 착 했 습 니 다.failbit 치 명 적 이지 않 은 입 출력 오류,badbit 치 명 적 인 입 출력 오 류 를 만회 할 수 있 습 니 다.돌 이 킬 수 없습니다.
입 출력 상태 정 보 를 얻 을 수 있 는 두 가지 방법 이 있다.하나의 방법 은 rdstate()함 수 를 호출 하면 현재 상태의 오류 표 시 를 되 돌려 줍 니 다.예 를 들 어 오류 가 없 으 면 rdstate()는 goodbit 로 돌아 갑 니 다.
다음 예제 에 서 는 rdstate()의 용법 을 나타 낸다
#include <iostream >
#include <sstream >
#include <string >
using namespace std;
int main ()
{
stringstream ostr("ccc");
ostr.put('d');
ostr.put('e');
ostr<<"fg";
string gstr = ostr.str();
cout <<gstr<<endl;
char a;
ostr>>a;
cout <<a
system("pause");
}
다른 방법 은 아래 의 모든 함수 로 해당 하 는 입력/출력 상 태 를 검사 하 는 것 이다.bool bad().bool eof(); bool fail(); bool good(); 다음 예 는 위의 각 구성원 함수 의 용법 을 나타 낸다.오류 상 태 를 지 우려 면 clear()함 수 를 사용 해 야 합 니 다.이 함 수 는 현재 상태 로 설정 할 인자 가 있 습 니 다.ios:goodbit 를 실제 인삼 으로 만 들 면 됩 니 다.
예제 코드 는 다음 과 같다.
예시 코드 는 다음 과 같다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C++의 sstream 표준 라 이브 러 리 상세 설명C++의 sstream 표준 라 이브 러 리 소개 다음 에 우 리 는 C++스타일 의 직렬 제 어 를 계속 살 펴 보 겠 습 니 다.C++는 ostringstream,istringstream,stringstream ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.