- 1 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:39:18 ]
- エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.56【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1215278693/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm ◆ソースのインデントについて 半角やTABでのインデントはスレに貼ると無くなります。 そのため、アップローダーに上げるのが最も良いですが、 直接貼るのであれば、全角空白か に置換しておくことをお勧めします。
- 159 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:32:17 ]
- マルチバイト文字列用のルーチン使って文字を切り出すか、UTF-16をつかう。
おそらくstd::stringで1バイトづつ出力させてるんだろうけど、それやっちゃうと2バイト文字は半分ちぎれたりするから正常に表示できない。 ちゃんと2バイト文字は2バイトづつ出力させるか、2バイト固定のUTF-16使えばOK。 荒技としては逆に1バイト文字を使わないという手もある。(全角数字、全角アルファベット、全角記号で代用)
- 160 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:35:47 ]
- なるほど、要はscript[moji*2]とかループを1/2回にするなり
数字は全角で書くなりすれば良いわけですね ありがとうございます
- 161 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:44:30 ]
- >>159
UTF-16だから2バイト固定なんてことが許される時代はもう終わっているよ。
- 162 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:47:14 ]
- サロゲートなんて捨ててOK
- 163 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:52:10 ]
- C/C++って、マルチバイト文字の、先頭か二番目以降かって判定する関数なかったっけ?
標準でなくても、それぞれのプラットホームには必ずあると思うけど。
- 164 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:52:40 ]
- [゛], [゜] も捨ててかまわないってことで。
- 165 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:57:08 ]
- >>162
つUTF-8, UTF-32
- 166 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:59:55 ]
- >>163
そんなレガシー技術に頼るぐらいならUnicodeにしとけよ UTF-8では先頭バイトと後続バイトはMSB側の2bitを見るだけで簡単に区別できるし 先頭バイトだけで後続バイト数は判断できるし 後続バイトがASCII文字と重なるようなこともない マルチバイト処理は必要だが、レガシーなエンコーディングスキームよりは ずっといい性質を持っている
- 167 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:00:00 ]
- >>165
つwchar_t
- 168 名前:166 mailto:sage [2008/07/20(日) 23:04:30 ]
- 補足。
euc-jpやiso2022系では、「lead byteかどうか」は特定の2バイトを見ただけでは 判断できない。 行頭なり何なりから順番に舐めるしかないはずだよ。 >>163の言っているような"iskanji"風のレガシーなクソマクロは、特定の条件でしか 役に立たないものだ。
- 169 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:09:52 ]
- >>168
先頭から見ないとわからないってのは、EUCのほうじゃなくてShift JISのほうでは?
- 170 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:15:37 ]
- なんで文字コードごときの話でそんな偉そうにできるんですか?
- 171 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:18:27 ]
- >>170
皆、思い思いに書いてるだけだよ。 偉そうに見えるのはおそらく・・・
- 172 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:23:01 ]
- >>169
EUCで簡単なのは1byteコードと2byteのコードの識別だけで、 lead byteとtrail byteの識別は難しいのでは?
- 173 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:31:16 ]
- 入出力(ファイル、パイプ)はともかく、
内部コードにUTF-8, UCS2, UTF-16, UTF-32以外を使うのは止めておけ。 マジで。
- 174 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:40:52 ]
- wchar_tはC/C++の定義上1文字なので、
固定サイズであるUCS2/UTF-32と考えるのはそれほど問題でないが、 可変サイズであるUTF-8/UTF-16として扱うのは完全にNG
- 175 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:43:05 ]
- VC++で、ソースコードをUTF-8で保存してコンパイルしたら、"文字列" がUTF-8になってくれればいいんだけどね
- 176 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:50:50 ]
- VC++(UCS2)/gcc(UTF-32)での可搬性を考えると、
wchar_t=UCS2と想定するのが良い UTF-16、UTF-32はC++0xが出てくるまで我慢
- 177 名前:176 mailto:sage [2008/07/20(日) 23:53:11 ]
- もちろん、ICUなどで提供されている型や関数を使っている人は除く
- 178 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 02:42:01 ]
- どーでもいいよそんなの
- 179 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 08:10:43 ]
- >>175
C++0xでUTF-8リテラルが追加される。u8"文字列" ※ime.nu通すと#以降が消えるので ttp://ja.wikipedia.org/wiki/C%2B%2B0x#.E6.96.B0.E3.81.9F.E3.81.AA.E6.96.87.E5.AD.97.E5.88.97.E3.83.AA.E3.83.86.E3.83.A9.E3.83.AB
- 180 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 14:04:39 ]
- printf("aaa\b\b\b");
とかやってるコードを見かけたのですが、 \b\b\bはどういう意図でやっているのでしょうか? \bはバックスペースのようですが…
- 181 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 14:20:49 ]
- 次に書いた文字がaaaを上書きする。
- 182 名前:180 mailto:sage [2008/07/21(月) 14:40:00 ]
- >>181さんありがとうございます。
ファイルコピーの進捗状態をコンソール上の同じ位置で パーセント表示する際などに 使うわけですね。なるほど。
- 183 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 19:36:23 ]
- char *p;
char **pp = malloc(sizeof(char*) * 100); という式はcharのポインタのポインタを100確保したという意味でいいのですか? pp[0]はpと同じ意味ですか?
- 184 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 19:42:56 ]
- char*を100個格納できるエリアへのポインタを返していて、そのポインタをppに入れている
あくまでも指定されたサイズのエリアを確保しているだけで、ポインタを確保している訳ではありません。 上記コード上ではpとpp[0]には何の関連もないけど、 p = pp[0];ができる?という意味なら、できる。
- 185 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 22:34:01 ]
- >>184
同じ意味とは型が同じかという意味でした。
- 186 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 23:08:32 ]
- VCで作ってタソーすをgccでコンパイルしようとすると
tchar.hがないってエラーになるんだが、 Linuxでは何てヘッダを読み込めば_TCHARとか_T()とか使える? 自分で定義するしかない?
- 187 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 23:17:41 ]
- 当たり前だ
- 188 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 04:22:32 ]
- そのための_TCHARだ。
- 189 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 04:24:17 ]
- gcc だと何と定義すりゃいいんだろうな。
wchar_t が UCS4 だったりすることもあるんじゃないのか。
- 190 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 14:21:02 ]
- そもそもAPIにAとWの区別もないのに何の意味があるんだろう。
- 191 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 14:28:47 ]
- >>190
WしかないAPIもある
- 192 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 14:34:56 ]
- >>191
そんな話はしていない
- 193 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 16:50:58 ]
- >>189
UCS2でも4でも動くように書くしかないかと あるいはライブラリを使うか
- 194 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 17:33:55 ]
- wchar_tの中身がUnicode系ではない環境もあるのでよろぴこ。
- 195 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 20:54:18 ]
- >>194
その処理系の名前教えて。 いや、煽りとかじゃなくて普通に知りたいので。
- 196 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 21:25:07 ]
- >>195
Linux以外のほぼすべてのUNIX。 すくなくとも、Solaris FreeBSD NetBSDはUnicodeではなかったはず。
- 197 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 22:00:16 ]
- そうなのか。dクス
- 198 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 22:02:46 ]
- LinuxをUNIXと言うと基地外が来襲するので
ちゃんとUNIXライクOSと言いましょう
- 199 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 22:11:08 ]
- wchar_tマジ使えなさすぎワロタ
ml.tietew.jp/cppll/cppll/article/862
- 200 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 22:40:13 ]
- その辺に載ってる話はさすがに古くねえか?
gcc 2.xだろ?
- 201 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 22:55:17 ]
- gccのwchar_tは昔からうんこ
あまりにも有名すぎる話
- 202 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 23:37:26 ]
- >>201
いやその、今のgccはinput-charsetだのexec-charsetだのwide-exec-charsetだの 指定できるだろ?
- 203 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 01:49:03 ]
-
*i |= 3; はちゃんと *i = *i | 3; に展開されるのでしょうか?
- 204 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 02:26:54 ]
- いいえ、前者と後者では意味が違います。
- 205 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 02:32:22 ]
- >>203
「展開される」の意味が分からない Cだと結果は動作は等しくなる C++だとoperatorのオーバーロードがあるのでなんともいえない
- 206 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:02:00 ]
- class test {
string* p; public: test() { p = new string; } ~test() { delete p;} } main() { test obj1; test obj2 = obj1; } 2度目のdeleteにてセグメンテーション違反で落ちるコードです 教科書ではコピーコンストラクタを上書きして ポインタの指す先までコピーするようにしてるのですが delete時にチェックする方法はあるんでしょうか? 実用性は考えていませんが、興味があります 環境: Linux kernel 2.6-686 GNU C++ compiler 4.1.1
- 207 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:07:15 ]
- ローカル変数とは定義された順にスタックに積まれるのですか?
- 208 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:13:42 ]
- >>206
obj2.pはobj1.pと同じだから落ちて当たり前。 何がしたいのか分からないけど、ポインタにNULLポインタを入れておけば それがdeleteされても問題なく動く。
- 209 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:13:50 ]
- >>206
> delete時にチェックする方法はあるんでしょうか? 参照カウンタをどこかに持つとか。
- 210 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:18:20 ]
- あー、参照カウンタにしても、けっきょくコピーコンストラクタをオー
バーライドしなきゃいけないか。
- 211 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:25:16 ]
- >>208
どこでNULLをセットすればいいですか? >>209 なるべく簡単な方法がいいんですよね catchしちゃえばいいのかな このアドレスは使っちゃ駄目みたいなのは カーネルに聞けば教えてくれるのかなと思ったんですが
- 212 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 10:33:33 ]
- >>206
あくまでチェックしたいってことなら、方法は無い。 ヌルをセットするとかして、とにかく落ちないようにするなら auto_ptr でも使っとくのが簡単。 #include <memory> #include <string> using std::string; using std::auto_ptr; class test { auto_ptr<string> p; public: test() : p(new string) {} }; int main() { test obj1; test obj2 = obj1; }
- 213 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 11:37:38 ]
- >>207
規格ではスタックが使われるのかすら決まってなかった気がする
- 214 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 12:39:32 ]
- >>211
string*ではなくstringをメンバに持たせる
- 215 名前:デフォルトの名無しさん [2008/07/23(水) 16:25:27 ]
- class hoge{
private: int fuga; public: void setfuga(int a){ fuga = a; } int getfuga(){ return fuga; } }; class foo{ private: std::vector<hoge> var; public: void sethoge(hoge hage){ var.push_back(hage); } std::vector<hoge> getvar(){ return var; } }; int main(){ foo foo0; hoge hoge0; hoge0.setfuga(1); foo0.sethoge(hoge0); std::vector<hoge>::iterator itr; itr = foo0.getvar().begin(); std::cout << foo0.getvar().at(0).getfuga() << std::endl; std::cout << (*itr).getfuga(); return 0; } これを実行すると、一つ目のcoutは正常に出力(1)されますが、二つ目はでたらめな値が出ます。 itr = foo0.getvar().begin()はfoo0.getvar().at(0)を指すiteratorだと思うので、同じ結果になると 思っているのですが…。どなたかお教えいただけると助かります。
- 216 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 16:35:26 ]
- >itr = foo0.getvar().begin();
getvarの戻り値はfoo0.varそのものではなくfoo0.varの一時的なコピーで、次の文に移る前には破棄される getvarはfoo0.varのコピーを返すのではなくfoo0.varへの参照を返す必要がある
- 217 名前:デフォルトの名無しさん [2008/07/23(水) 16:38:55 ]
- >>216
その通りでした。ちょうど思いついたところでした。 すみません、どうもありがとうございます。
- 218 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 20:39:07 ]
- HOGEという構造体がtypedefされているとします。
HOGE *hoge;と宣言します。 void function(HOGE *hoge){ }という関数に function(hoge)と渡すと参照渡しになってますか?
- 219 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 20:42:42 ]
- >>218
それはC++でいうところの参照ではありません
- 220 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 20:44:26 ]
- アドレス私ですか?
- 221 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 20:46:44 ]
- ?
- 222 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 20:47:38 ]
- アドレス渡しですか?の間違いです
- 223 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:01:10 ]
- 「自分宛のレスですか?」という意味だと勘違いしたのは、
俺だけじゃないはず。
- 224 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:33:45 ]
- foo(HOGE fuga){ }
bar(HOGE* pFuga){ } baz(HOGE& fuga){ } func() { HOGE hoge; HOGE *pHoge; // 値渡し foo(hoge); // ポインタ渡し(アドレス渡し) bar(pHoge); // 参照渡し baz(hoge); }
- 225 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:40:34 ]
- foo(HOGE fuga)
foo(HOGE &fuga) HOGE hoge; foo(hoge); この場合どっちが優先されますか?
- 226 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:43:00 ]
- >>225
自分でコンパイルしてみては?
- 227 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:44:40 ]
- 自分で試してください。
俺は試しました。VC++2005EE XXX.cpp(19) : error C2668: 'foo' : オーバーロード関数の呼び出しを解決することができません。(新機能 ; ヘルプを参照) XXX.cpp(11): 'void foo(HOGE &)' の可能性があります。 XXX.cpp(7): または 'void foo(HOGE)' 引数リスト '(HOGE)' を一致させようとしているとき
- 228 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:44:44 ]
- もし環境依存だったら自分で試しただけでは分からないし
- 229 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 21:50:02 ]
- それは試してうまくいった後に質問すべきこと。
- 230 名前:デフォルトの名無しさん [2008/07/23(水) 22:08:24 ]
- g++でプリコンパイル済みヘッダが使えないって聞いたんだが、
stdafx.hみたいに一つのヘッダファイルでSTLやboostとかのヘッダ 全部読み込むのはやめたほうがいい?
- 231 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 22:44:37 ]
- いつのg++の話?
- 232 名前:デフォルトの名無しさん [2008/07/23(水) 23:54:09 ]
- >>224
225は自分じゃないです。 ポインタ渡しした場合はbar関数の中で値を書き換えても、元には影響ないんですか?
- 233 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 00:03:05 ]
- >>232
ポインタを引数に指定しないとだめか、そうでないかの違いで、影響あることには変わりないよ
- 234 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 00:10:51 ]
- 225は違う人だったのか…
ポインタ渡しは影響する 参照渡しも影響する 値渡しだけは影響しない
- 235 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 00:21:32 ]
- クラスは参照型なのでゴニョゴニョ
- 236 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 00:23:12 ]
- >>232
bar(HOGE* pFuga){ *pFuga = ...; //影響する pFuga = ...; //影響しない }
- 237 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 02:02:44 ]
- >>230
そういう理由もあるだろうし、依存関係は最小限にしたほうがいいと思うよ。 g++ でもプリコンパイル済みヘッダ自体は使えたような気がする。使い方が 全然違ったはずだけど。
- 238 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 09:04:36 ]
- >>235
嘘をつくな
- 239 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 13:36:21 ]
- あれ?
クラスもコピーコンストラクタ呼ばれて値渡しされるよね?
- 240 名前:デフォルトの名無しさん [2008/07/24(木) 13:39:58 ]
- コピーコンストラクタ呼ばれて値渡しされるし、逆にコピーコンストラクタが定義されていないと
コンパイルできないはず
- 241 名前:240 [2008/07/24(木) 13:42:25 ]
- 値渡しの話だよね?
- 242 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 13:43:59 ]
- コピーコンストラクタがなければ勝手に丸ごとコピーします。
でないと、struct A a, b; a = b;というC由来のコードがコンパイルできなくなってしまう。
- 243 名前:240 [2008/07/24(木) 13:44:40 ]
- あ、そっか、そうだね、失礼
- 244 名前:240 [2008/07/24(木) 13:47:05 ]
- あ、よくがんがえたら、クラスのメンバーに、コピーコンストラクタが定義されていないオブジェクトが含まれている時と
勘違いしてた。 自分がよくコンパイルエラー出すもんで。。w
- 245 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 13:52:09 ]
- 実際
中間インスタンス生成+コピーコンストラクタ呼んだ後は 参照でわたしてる? 呼び出し元のインスタンスには影響を与えないけど、スタックに実体を積んでいるわけではない みたいな構造
- 246 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 13:53:44 ]
- それぞれ想定している状況が違っている悪寒。
- 247 名前:デフォルトの名無しさん [2008/07/24(木) 13:55:27 ]
- VC2008 VC6 BCC MinGW
でboostいれたいんですけど バイナリ配布しているVC2008しか成功しません 1.35のそれぞれのバイナリ置いてある所無いですか?
- 248 名前:デフォルトの名無しさん [2008/07/24(木) 14:17:41 ]
- www.boost.org/development/tests/release-1_35_0/developer/summary.html
boostてdrwinとvc7以上で主に動くんですね borlandはかなり駄目ですね
- 249 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 14:39:09 ]
- darwinってmacのことだぞ
- 250 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 19:59:10 ]
-
boost::regex で,置換する時に置換フォーマットが $10 だと 10 番目のキャプチャ要素に置換されるんだけれど, これを一番目のキャプチャ要素 $1 + 0 にするにはどうしたらいいの?
- 251 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 20:00:54 ]
- >>250
regex を二回呼べばいいんでは?
- 252 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 20:09:39 ]
-
すいません 2 回呼ぶと言うのはどういう意味でしょうか?
- 253 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 20:23:33 ]
- >>250
簡単な例をplz
- 254 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 20:29:02 ]
- ${1}0でいけたような気がしたけど、どうだったかなあ
- 255 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 20:31:59 ]
- 1.35のregexでいまためしてみた。
"\\10"で大丈夫。sed format string syntaxってやつだ。 "${1}0"はだめ。 #include <iostream> #include <string> #include <boost/regex.hpp> int main() { boost::regex re("(.)(.)(.)(.)(.)(.)(.)(.)(.)(.).*"); std::string s ="abcdefghijklmn"; std::cout << boost::regex_replace(s, re, "\\10") << std::endl; return 0; }
- 256 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 20:34:49 ]
- そういう意味か!
- 257 名前:250 mailto:sage [2008/07/24(木) 20:38:51 ]
- >>255
ありがとう!それでうまくいきました.
- 258 名前:デフォルトの名無しさん [2008/07/25(金) 10:23:37 ]
- boost_serializationを画面やメモリに出力したいのですが教えて下さい
test_classは別に定義してあるとします。これだとファイル出力です #include <fstream> #include <string> int main() { std::ofstream fp("XXX.xml"); boost::archive::xml_oarchive oarchive(fp); test_class Z; Z.a = 22; Z.b = 7; oarchive << boost::serialization::make_nvp("Root", Z); }
- 259 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 10:34:45 ]
- >>258
よくわからんが ofstreamのかわりにcoutやsstreamを使えばいいだけなんじゃないの?
|

|