- 締切済み
string型のフォーマット書式指定の文字列
char s[20]; sprintf(s, "%c%c%c", 0x40, 0x41, 0x00); と同じことを string型を使って書式フォーマットしたいのですが string ss; からどうすれば、上のようなことができるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- jacta
- ベストアンサー率26% (845/3158)
回答No.3
C++11なら... ss = { 0x40, 0x41 }; でよいのでは?
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.2
#include <iostream> #include <sstream> #include <string> using namespace std; int main() { ostringstream stream; stream << static_cast<char>(0x40) << static_cast<char>(0x41); string ss = stream.str(); cout << '[' << ss << ']' << endl; }
- hitomura
- ベストアンサー率48% (325/664)
回答No.1
char s[20]; sprintf(s, "%c%c%c", 0x40, 0x41, 0x00); string ss(s); 「ちょっと待ておい!」と怒られるかもしれませんが、数値等を形式指定して文字列化するにはこの方法が一番手軽です。 あるいは、Boostを導入できるならば、 #include <boost/format.hpp> string ss = (boost::format("%c%c%c") % 0x40 % 0x41 % 0x00).str(); と書くことでできます。