C++

텍스트 파일 통째로 std::string에 넣기

dokpin 2022. 3. 22. 22:54
728x90

로 스트링 리터럴(raw string literal)을 사용하면 됩니다.

띄어쓰기, 행 바꿈 문자, 꺽쇠(< , >), 괄호 등의 특수 문자를 그대로 std::string 타입의 변수에 넣을 수 있습니다.

xml파일을 로 스트링 리터럴을 활용하여 헤더에 넣어 사용한 적이 있습니다.

\t, \n 같이 시퀀스들은 텍스트로 그냥 출력합니다.

 

코드 예제

std::string rawstring = R"(<annotation>
	<folder></folder>
	<filename>1.jpg</filename>
	<path>1.jpg</path>
	<source>
		<database></database>
	</source>
	<size>
		<width>1920</width>
		<height>1080</height>
		<depth>3</depth>
	</size>
	<segmented>0</segmented>
	<object>
		<name>flower</name>
		<pose>Unspecified</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<occluded>0</occluded>
		<bndbox>
			<xmin>200</xmin>
			<xmax>400</xmax>
			<ymin>300</ymin>
			<ymax>600</ymax>
		</bndbox>
	</object>
</annotation>
)";