もちゅるの日常

特に決まっていないざっくばらんなブログ

std::stringを派生

 以前の日記で sscanf か何かをstringで出来ないか?と書いた記憶があるけど、今日ちょっと作った。変換指定文字の種類やフィールド幅、精度やフラグなどは全く入っていないけどw

	std::string	str;
	char buffer[64] = "";

	str.assign( "[" );
	str.append( itoa( no, buffer, 10 ) );
	str.append( "]" );
	str.append( pLabelName );

上のコードが新しく派生させたクラスだと、

	RString	str;
	str.format( "[%d]", no );

で対応できる。一時バッファとかせずに実装してるので最大何文字っていう制限は今のところメモリ量。派生したクラスにformatを追加実装しただけ。しかも空白多めなのに70行でw まぁ対応しているのが"%d" "%c" "%f" "%s"だけだから当然なのか。とりあえずこいつを使って今後不足が見え始めたら追加するようにしていこう。