- 1 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:26:08 ]
- エスケープシーケンスやWin32APIなどの環境依存な物でもOK。
ただしその場合、質問者は必ず、環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.40【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1184717430/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
- 147 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 17:58:50 ]
- GetModuleFileName()でフルパスを得て
_splitpath()で分解して sprintf()で結合とかどう?
- 148 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:09:56 ]
- ダメ
- 149 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:23:43 ]
- exeと同じフォルダに書き込もうとか思っていると、
VistaのUACではまるかも。 そこに至るまでの道のりは長いだろうけどね。
- 150 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:29:17 ]
- 何をさも自分が苦労したからって
- 151 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:38:38 ]
- >>150
北極行くのに南極経由するような人なんだから触れてやるな
- 152 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:56:11 ]
- >>150
「さも」の使い方がおかしい
- 153 名前:133 mailto:sage [2007/08/09(木) 19:02:17 ]
- すいません。だめでしたね。
>>147 の様な処理で分解してstrcatで結合して それっぽい動きになりました。
- 154 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 19:50:02 ]
- ファイルダイアログで選択して別ファイルに保存、、、
C#のスレでまったく同じ質問があったな、しかも同じ日 どっかの課題かなにかなのだろうか
- 155 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 19:51:14 ]
- ただのマルチだろ
- 156 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 20:16:59 ]
- いや、だって言語違うぜ?
- 157 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 20:17:54 ]
- 右も左も分からないんだろう
- 158 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 20:21:21 ]
- うーん、向うはC#のソース出してたし
解決の仕方も解決した時刻も違うから 同じ人とは思えないなあ 質問者に種あかししてほしいとこだが
- 159 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 20:36:30 ]
- ファイルダイアログなんてよくある質問じゃん。
- 160 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 20:40:44 ]
- 全部同じ奴だろ
- 161 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 23:17:50 ]
- 包茎を短時間で修正するプログラムの
開発って難しいですか?
- 162 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 23:21:06 ]
- 包茎と短時間と修正の定義次第
- 163 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 01:35:49 ]
- いつから配列の定義の要素数に変数が使えるようになったん?
99年から? void func(int n){ int array[n]; : } とか。。。
- 164 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 01:36:20 ]
- C99 から
- 165 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 01:37:50 ]
- やぱり。即レスども。
個人的にはその仕様はうれしい。
- 166 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 01:44:37 ]
- >>165
ここを参考 seclan.dll.jp/c99d/c99d04.htm#dt19990719
- 167 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 01:49:43 ]
- longjmpするとリークする可能性があるから、気をつけたまへ
- 168 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 08:39:01 ]
- C99とC/C++は互換性無いから別スレに分けた方がいいと思う。
- 169 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 08:51:48 ]
- 可変引数マクロは非C99処理系にも是非輸入して欲しい
- 170 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 09:01:38 ]
- 素直にC99使えば
- 171 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 09:01:53 ]
- >>168
C と C++ 用にそれぞれ専用スレがあるだろ。問題があれば誘導すればいい。
- 172 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 09:18:08 ]
- stringstreamに、ファイル(ifstream)の中身を書くよい方法はありますか?
とりあえず自分が考えた方法だと、 std::ifstream ifs(...); std::stringstream ss; while (!ifs.eof()) { char buf[1024]; ifs.read(buf, 1024); ss.write(buf, ifs.gcount()); } こんな感じです。こんなことをする理由は、 ifstreamからstd::getlineをして1行ずつ処理するプログラムなのですが、 stringstreamに全部入れた後、std::getlineをした方が、倍以上高速になることを発見したからです。 それとも、もっと効率の良い方法はありますか?
- 173 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 09:25:09 ]
- >>172 ss << ifs.rdbuf();
- 174 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 10:44:50 ]
-
ifstream ifs("dir_name"); if ( ifs.fail() ) { return 0; } if ( ifs.isDirectory() ) { } みたいに標準ライブラリだけで ディレクトリか否かを判定することってでけますか? あと、ディレクトリ内にある全ファイルの名前取得みたいなことは 標準ライブラリだけででけますか?
- 175 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 10:50:52 ]
- >>172
pubsetbuf()でバッファでかく取っとくと、一般には速くなると期待されるんだが、 gccの少なくとも古いバージョンでは、open済みのstreambufに pubsetbuf()を実行しても、何食わぬ顔をして元のバッファを使うようだ。 mmap()したポインタをstrstreamにそのまま突っ込むのが多分一番速いが、 移植性に欠ける上にstrstreamがdeprecatedなのがネックだな。 stringstreamのstrメンバを使うとせっかくmmap()したものを わざわざコピーしてしまうし、 stringstreamのpubsetbuf()も有効とは限らないようだ。 (少なくともVC++では平然とシカトされる) >>173 それ記述が簡単でいいんだが、少なくとも VC++のostream実装とかだと、大して速く無さそうなんだよな。 sgetc()/snextc()と、sputc()使って1文字ずつコピーしてるし 微妙に無駄の多いコードになってるんで、 下手すりゃ手書き1文字コピー回したしたほうがまだ速いかもしれん。
- 176 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 10:52:02 ]
- >>174
どっちもだめ ディレクトリのないファイルシステムもあるんで、CやC++の標準は ディレクトリがらみを一切扱っていないはず
- 177 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 10:57:35 ]
- >>168
C99はCであって、 互換性がないのはCとC++
- 178 名前:漏れが書かなくてもきっと誰かが書く mailto:sage [2007/08/10(金) 10:58:24 ]
- >>176
そこでboostですよ。
- 179 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 11:12:01 ]
- >>178
無論そんなことは知っているが、>>174は「標準ライブラリだけ」と 2度も強調しているんだし、非標準の方法があることぐらいは知ってて 聞いてるんだろ
- 180 名前:175 mailto:sage [2007/08/10(金) 11:23:23 ]
- ごめんあほなこと書いた
> stringstreamのpubsetbuf()も有効とは限らない そもそもpubsetbuf()を入力を食わせるのに使えるはずがないな
- 181 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 11:26:26 ]
- >>179
>178の名前欄。 つーか、>176はなんで「扱っていないはず」なんて曖昧なままにしておくのだろう。 調べれば直ぐに答が出ることなのに。
- 182 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 11:28:03 ]
- >>181
すまん、扱っていないことは知っている 理由のほうが推測だ
- 183 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 11:35:59 ]
- >>182
なるほど、それは失敬。そしてその推測は妥当だろう。 実際、CP/Mやtronにはディレクトリがない。
- 184 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 11:42:45 ]
- まぁ一方ではsignal()なんかが標準だし
わけわからんところもあるよな
- 185 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 11:50:07 ]
- 大丈夫、signal()は内容が規定されていないから存在しない環境では何もしなければいいから。
- 186 名前:174 mailto:sage [2007/08/10(金) 11:53:44 ]
- >>176
レスありがとです。 標準ライブラリにディレクトリ絡みがまったくないのでおかしいなぁ とは思ってたんですが、そんな理由があったとは。。 ソースを他環境に持ってたとき、すぐコンパイルできないとイヤだなと思って できるだけ標準でやる方法を探してたんですが、 >>178さんの仰るとおり、こりゃおとなしくboost使っといたほうがいいですね。
- 187 名前:デフォルトの名無しさん [2007/08/10(金) 12:06:28 ]
- なんだboost厨の自演か
- 188 名前:デフォルトの名無しさん [2007/08/10(金) 12:09:27 ]
- やっぱりブーストがいちばんですね^^
- 189 名前:デフォルトの名無しさん [2007/08/10(金) 12:31:53 ]
- char *p = "hogehoge";
の時 *(p++) がさす値はoですか?
- 190 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 12:34:48 ]
- いいえ
*(p++) の値は 'h' になります
- 191 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 12:37:41 ]
- いいえ
*(p++) の値は 'g' にもなります
- 192 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 12:37:42 ]
- はい、トムはペンです
- 193 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 12:38:25 ]
- 出力してみりゃ分かることだろうに。
2ch に書き込むより早く分かる。
- 194 名前:デフォルトの名無しさん [2007/08/10(金) 12:44:01 ]
- *(++p) オヌヌメ
- 195 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 12:52:10 ]
- *next(p)
^^;;
- 196 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 12:53:03 ]
- >>189は
p が指す値と 式 *(p++) の値を混同してないか?
- 197 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 12:53:46 ]
- 有り難うございます。
ちなみに *pには何が代入されているんですか?
- 198 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 13:01:58 ]
- *pには何も代入されていないと思いますが。
- 199 名前:デフォルトの名無しさん [2007/08/10(金) 13:02:37 ]
- 夏・・・
- 200 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 13:09:34 ]
- 最近は季節に関係なく年中馬鹿が湧く、と考えていたけど、
やっぱり長期休暇は頻度もスケールも一回り違うかな。
- 201 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 13:36:08 ]
- 出力してみりゃわかることをうだうだと質問してからに・・・
- 202 名前:デフォルトの名無しさん [2007/08/10(金) 15:01:04 ]
- ちょっとしつもんします
ギャルゲーとかで「フラグをたてる」ていうんですが フラグというのはビットなんですか?
- 203 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 15:03:07 ]
- ビットなフラグはビットフラグ
ビットじゃないフラグも当然ある
- 204 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 15:07:07 ]
- 「立てる」っていう表現をするようなフラグなら、
「立てる」か「倒す」かだからビットだろうなぁという気はする。
- 205 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 15:10:54 ]
- 死亡フラグは立てるのに倒れてしまう件
- 206 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 15:22:38 ]
- 私生活では全くフラグが立たない件について
- 207 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 15:26:46 ]
- >>204
boolは大抵intかcharで実装されている罠。
- 208 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 15:27:55 ]
- >>206
立ち過ぎてて困るから 1ビット分けてあげるぞ
- 209 名前:デフォルトの名無しさん [2007/08/10(金) 19:04:06 ]
- cygwinまたはlinuxの環境下でコンパイラに追加依存ファイルの検索パスを与えようとしています
仮に追加依存ファイルのパスを~/xxx/includeとすれば .bash_profileではexport CDPATH="$CDPATH":"~/xxx/include/"のようにして環境変数を設定し シェル上でcd includeと打てばカレントパスが意図通りに変化するところまでは設定しています ここから、このパス下にあるtest.hppを#include <test.hpp>のように指定しているファイル ~/main.cppを コンパイルする目的で~/下でg++ main -I includeと打ったのですが コンパイラからはtest.hppが見付からないというエラーが返ってきます 正しくはどのように指定するべきなのでしょうか?
- 210 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 19:13:01 ]
- CDPATH はその名前の通り cd コマンドにしか効かないんじゃない?
-I~/xxx/include ってやれば?
- 211 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 19:15:55 ]
- CDPATHはcdに関係するだけでコンパイラには関係ないんじゃないか?
何がしたいのか良く分からないけど、普通に-I~/xxx/include/とか書くとか ていうか、そもそも-Iの後ろにスペースあるのはOKだっけ?
- 212 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 19:39:34 ]
- なるほどフルパスで指定しないと駄目なんですね、あと' 'が入ってても駄目と
それら二点に気を付けて打てば通りました 助言ありがとうございました
- 213 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 19:45:54 ]
- >>212
相対パスでもいけるけど、「ソースがある場所からの」相対パスであることに注意
- 214 名前:213 mailto:sage [2007/08/10(金) 19:47:00 ]
- あ、-Iオプションで指定する場合はそうじゃないか?
すまん、俺自身あやふやになってきた。忘れてくれ
- 215 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 19:53:16 ]
- -Iオプションは相対パスでもいけるハズ。
たぶんコンパイラ実行時の作業ディレクトリかなんかからの相対パスになると思うけど・・・。 いつもmakefileコピペ改変でやっちまうから、俺も記憶があやふやだ・・・
- 216 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 20:29:01 ]
- 相対パスでOK。
Makefileに-Ipathと書いておいて、ln -s どっかの/pathとかよくやる。
- 217 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 22:46:58 ]
- クラスの実際の型に応じた処理を簡単に書く方法はありますか?
例えば、基本クラス Hoge を継承するクラス Foo と Bar があるとして、 void func(const Hoge &hoge) { // hoge が Foo の時の処理 // hoge が Bar の時の処理 } というのを簡潔に書きたいのですが。普通にdynamic_castを使って(ダウンキャストの例外呼ばれたくないのでポインタで) { if ((const Foo *p = dynamic_cast<const Foo *>(&hoge)) != NULL) ...; else if ((const Bar *p = dynamic_cast<const Bar *>(&hoge)) != NULL) ...; } とやる方法と、try...catchの変な使い方で { try { throw hoge; } catch (const Foo &foo) { ...; } catch (const Bar &bar) { ...; } } っていうのも思いついたんですが、こんな書き方はしないですよね。実際はどういう書き方が普通でしょうか。 instanceofとかisとかC++にはないようなので。
- 218 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 22:50:17 ]
- そのクラスに virtual 関数を作ればいいんじゃないの?
instanceof は dynamic_cast いちおう typeid もあるけど
- 219 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 22:52:33 ]
- >>217
funcをHogeの仮想関数にする(必要に応じて純粋仮想関数にする)。 そして、FooとBarがそれぞれオーバーライドする。 instanceofとかisとかがある言語でも、 そんな書き方よりこういう仮想関数でやる方法が普通だぞ。
- 220 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 23:00:22 ]
- >>217
void func(const Foo& foo); void func(const Bar& bar); ...
- 221 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 00:26:58 ]
- Lisp じゃないから。
- 222 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 10:54:08 ]
- >>217
基底クラスが派生クラスの面倒までみるべきではないよ
- 223 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 13:04:07 ]
- >>222
funcはHogeのメンバ関数じゃ無い、とかそんな状況な気もする
- 224 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 13:54:38 ]
- func から Hoge の仮想関数呼べばいいだけだよ
- 225 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 16:49:10 ]
- あぁ、いや。
単に基底クラスに面倒見さそうとしてるわけじゃないんじゃない?というだけの話で。
- 226 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 18:31:47 ]
- その、try...catchの変な使い方、だが、結局投げてるのはHoge型だから
本当のクラスでは捕まえられない。 #include <stdio.h> struct B{virtual ~B(){}}; struct D1:B{}; struct D2:B{}; int main(){ B *b = new D1; try{ throw *b; } catch( D1 &){ puts("D1"); } catch( D2 &){ puts("D2"); } catch( B & ){ puts("B"); } }
- 227 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 20:52:01 ]
- ダブルディスパッチ使えばいいじゃん。
- 228 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 06:43:01 ]
- それなにぬねの
- 229 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 07:11:10 ]
- #include <stdio.h>
struct B { virtual ~B(){} virtual void Throw() { throw this; } }; struct D1 : public B { virtual void Throw() { throw *this; } }; struct D2 : public B { virtual void Throw() { throw *this; } }; int main(){ B *b = new D1; try{ b->Throw(); } catch( D1 &){ puts("D1"); } catch( D2 &){ puts("D2"); } catch( B & ){ puts("B"); } }
- 230 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 08:44:07 ]
- #include <stdio.h>
struct B { virtual ~B(){} virtual void Func() { puts("B"); } }; struct D1 : public B { virtual void Func() { puts("D1"); } }; struct D2 : public B { virtual void Func() { puts("D2"); } }; ダントツでこれが一番いいんだけどなぁ
- 231 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 08:45:40 ]
- そりゃそうだ。
- 232 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 09:30:33 ]
- 基本に戻るような質問
VC8Express (cl v14.00.50727.762 for 80x86)で、 void main(void){main();} を、 cl /MD stackov.cpp でコンパイルして実行しても、黙って落ちるだけで、_invoke_watsonされない そういう例外って、なにかしらダイアログ出して落ちるものとばかり思っていたのに 昔からこんなでしたっけ、これってこういうもん?
- 233 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 10:19:39 ]
- スタックオーバーフローで落ちるだけじゃないの?
- 234 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 11:51:22 ]
- うん。まさに、スタックオーバーフローで落ち…
…たときに、アプリケーションエラーって出ないのが デバッガから起動すれば、ちゃんと Stack overflow - code c00000fd (first chance) って捕捉されるんだけど…。
- 235 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:08:26 ]
- コンソールアプリだからじゃないのかな。
- 236 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:10:47 ]
- int ch = ' '
if (!isspace(ch) && !iscntrl(ch)) break; という文なのですが、 何故かbreakされてしまいます。 chがスペースでないときかつchが制御文字でないとき にbreakされるはずなのですが、条件式間違っているでしょうか?
- 237 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:14:01 ]
- gcc gdbではSIGSEGVでstack over flowにならんのだけど
検出する方法は別にあるんだろうな、あるんだろうね
- 238 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:26:17 ]
- >>236
動かない断片を提示されてもなんとも言えませんが。 症状を再現できる最低限のロジックを提示してみてください。
- 239 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:33:45 ]
- iscntrl()はロケールに依存するとされるし、
chか、iscntrl()の挙動が直感に反しているのでは printf("%x: %d, %d\n",ch,isspace(ch),iscntrl(ch)); をifの前に置いてみては。
- 240 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:41:07 ]
- >>232
気になって試した どうもスタックのサイズによるみたい void main(void){ char cc[4096]; main(); } とすればダイアログはでる。 (アセンブラ見ると、__chkstk の呼び出しが追加されてる) ただし、VCのオプション的にはスタックサイズが4Kより小さいときでも、 /Gs0 とか付ければいけそうに思えるし、実際アセンブラリストに __chkstk の名前でてるんだけどダイアログはでない。謎。
- 241 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:44:01 ]
- >>238,239
失礼です。 IDEでソースコードを読んでるんですが、動きが気になったので static int skip_space(void) { int ch ; for (;;){ if ((ch = getc(stdin)) < 0) return -1; /* end-of-file */ if (!isspace(ch) && !iscntrl(ch)) break; } return ch; } chに'¥t'や' 'を代入して/*if ((ch = getc(stdin)) < 0) return -1; */ として、ステップオーバーしていったのですが、 > if (!isspace(ch) && !iscntrl(ch)) の段階で止まってしまって、ブレイクしたのかなと思って。
- 242 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:50:44 ]
- 誰か、エスパー頼む
- 243 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 13:42:25 ]
- >>241
関数名から推測して static int skip_space(void) を呼び出す上位関数に問題があるんじゃないか?例えば int main(void) { int ch; for(;;) { if(-1 == (ch = skip_space())) break; putc(ch,stdout); } return 0; } とか。
- 244 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 14:16:01 ]
- ははぁ、成る程!
ちなみに (!isspace(ch) && !iscntrl(ch)) な文字コードってどんなのが当てはまりますかね?
- 245 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 14:38:10 ]
- >>244
空白文字でも制御文字でもない文字。 まぁ、大抵の可読文字が該当する罠。
- 246 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 16:49:05 ]
- すいませんわかりました。
自分馬鹿だorz ほんと皆さん電波な質問して申し訳有りません 二徹して疲れたので寝ます
- 247 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 18:57:05 ]
- eclipse with CDTが生成したmakefile用の依存リストで
src/test.d src/test.o: ../src/test.cpp \ H:/root/usr/src/boost/boost/shared_ptr.hpp \ H:/root/usr/src/boost/boost/config.hpp \
|

|