1 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 20:07:56 ] スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。 過去ログ スレを勃てるまでもないC/C++の質問はここで pc11.2ch.net/test/read.cgi/tech/1167476845/ スレを勃てるまでもないC/C++の質問はここで 2 pc11.2ch.net/test/read.cgi/tech/1178503366/
692 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:00:13 ] >>689 動的メモリになると2GBの壁がでるのですね… それだと必然的に1024^3はムリになるので、目的のは出来ないかもしれません ファイルにランダムアクセスできればいいのですが… それかファイルをソートする方がはやいのかも
693 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:05:34 ] >>692 ランダムアクセスはできるよ テープじゃないんでしょ
694 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:07:58 ] テープですよ ランダムアクセスはできるけど
695 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:17:07 ] >>692 流れをあんまり理解してないけど、 ファイルにランダムアクセスってfseekとかその手の話?
696 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:19:59 ] まさか数GBのファイルを全部メモリに読むつもりとか
697 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:20:04 ] そのファイルはテキスト?
698 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:21:37 ] 層毎に読み込むのがいいよ
699 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:21:22 ] >>655 のことです 層ごとに読み込みたくて。 15GBくらいのデータを縦軸・横軸の層で読み込んで計算したくて伺っていました。 テキスト形式のデータで要素数にして数億個のデータです。
700 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:39:36 ] なんで一度に読み込みたいのかがわからん。 ある層の計算をするときは、他の層がどうなってるかは知らなくていいんじゃないの? 逐次的に計算できるなら、何億個、何兆個データがあっても関係ないでしょ?
701 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:40:03 ] 層順にソートしておくとか
702 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:44:40 ] 何層あるのか知らないけど、元ファイルを順次読み込み、層ごとのファイルに分ける。 slice001.txt, slice002.txt, ... みたいに。 で、それぞれのファイル毎に層毎の計算をする。 で、ダメ?
703 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:45:52 ] >>700 一度に読み込まないための方法を探してるんです。 >>701 それは考えました。 縦方向に層を作るのであればZだけでソートしたファイルを読み込み処理ですむのですが 横方向に層も必要で 最悪2つの15GBのデータを作らないといけなくなりそうです。
704 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:47:23 ] あー、2k*2k*2k程度を想定してるのか。 層ごとに分けてしまえば次元が一つ減るから、オンメモリでいけるでしょ。
705 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:48:41 ] めんどくせーから、64bitOSにしちゃえよ
706 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:49:57 ] めんどくせーから、諦めちゃえよ
707 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:51:50 ] めんどくせーからDBにしとけ
708 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:56:27 ] >>703 > 横方向に層も必要で おいおい、必要な情報は一度に開示しとけよ。
709 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:59:58 ] >>708 はい、すみません。 縦方向の層/横方向の層 でスライス作って計算するのが一番速そうですね。 始めは15GBの3次元の塊から、層を2次元配列で確保していくつもりでしたが レスありがとうございました
710 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 00:43:29 ] > (Aが1)、かつ(Bが2)以外に処理を実行するっていう場合どう記述したらいいんですか? どーみても、 if ( (A==1) && (B!=2)) { 処理 } だろ。 それとも日本語が不自由なのか?
711 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 00:45:03 ] 668の例を見てそう言えるお前のほうが不自由
712 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 00:45:12 ] うは亀レス 日本語が不自由なんですね
713 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 00:45:41 ] もうその話題終わったよ
714 名前:デフォルトの名無しさん [2007/11/03(土) 01:41:40 ] 実体のまだないData型のpDataAというクラスが、ポインタで関数DataA_Setupにわたってきます。 DataA_Setupの中で、実体化(new)して、いろいろ値をつめます。 次に、このpDataAを、別の処理関数DataA_Modifyにわたして中身を書き換えるのですが、 DataA_Modifyのインタフェースが、Data型の参照を受けているのです。 int DataA_Setup(Data* pDataA) { pDataA = new Data(); // pDataAにいろいろ値をセット DataA_modify(ここが、Data型の参照になっている);
715 名前:デフォルトの名無しさん [2007/11/03(土) 01:45:14 ] >>714 の続き で、DataA_modifyにpDataAを渡すには、どのように変換すればいいのでしょう。 Data rDataA = &pDataA; とすると、 error: conversion from `Data**' to non-scalar type `Data' requested とエラーが出ました。
716 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 01:48:22 ] *pDataA でいいんではないの
717 名前:デフォルトの名無しさん [2007/11/03(土) 01:51:06 ] ありがとうございます。 DataA_modify( *pDataA ); で通りますか?
718 名前:デフォルトの名無しさん [2007/11/03(土) 02:35:35 ] ゲームに制限時間を付けたいんですが、どうすればいいのか わかりません。
719 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 04:52:32 ] >>714 > 実体のまだないData型のpDataAというクラスが 「クラス」??? 基本的なことを理解していないっぽいな。 > ポインタで関数DataA_Setupにわたってきます。 実体がないのに、どうしてポインタが渡せるんだ? そして案の定、 > int DataA_Setup(Data* pDataA) > { > pDataA = new Data(); なんていう変なことをしている。 引数の型はData*ではなくData**か、Data*&にしないと。 pDataAに何を代入したって、DataA_Setupの呼び出し側には伝わらないぞ。 > Data rDataA = &pDataA; わかってなさすぎ。
720 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 08:39:58 ] >>718 あなたがどんなゲームをどのように作っているのか判らないので「こうしなさい」などとおこがましいことは言えません。
721 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 16:40:26 ] >>714 >>719 のとおりだなあ。 とりあえずC++ Primerと初心者本を買って理解することをお勧めする。
722 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 16:35:46 ] 二次元配列で foo[たて][よこ] を走査したいのですが どんなループが一般的にやられてますか?
723 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 16:39:32 ] ふつう for(y = 0;y < たて;y++){ for(x=0;x < よこ:x++){ } }
724 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 16:40:09 ] 二重ループ
725 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 16:58:20 ] >>723-724 ありがとうございます。 あとすいません、言葉足りなくて foo[][]を 行だけ取り出して、計算→次の行へ。 列だけ取り出して、計算→次の列へ ということです。
726 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 17:01:18 ] >>725 for(y = 0;y < 列;y++){ for(x=0;x < 行:x++){ } } for(y = 0;y < 行;y++){ for(x=0;x < 列:x++){ } }
727 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 17:05:07 ] …そうだ。そうですね なんか変に考えすぎてました。 ありがとうございます
728 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:03:47 ] if(条件1){処理1} else if(条件2){処理2} else if(条件3){処理3} else if(条件4){処理4} else{処理5} という処理をやりたいのですが、ネストは3までと決められているので、このままの形では書けません なんとかスマートにネストを減らしたいのですがどうするのがいいのでしょうか 今は仕方なくこんな風に書いてるんですが、不格好だし面倒くさいし… int flg; if(条件1){flg=1}else{DoNothing();} if(条件2){flg=2}else{DoNothing();} if(条件3){flg=3}else{DoNothing();} if(条件4){flg=4}else{DoNothing();} if(条件5){flg=5}else{DoNothing();} switch(flg) { case 1:処理1;break; case 2:処理2;break; case 3:処理3;break; case 4:処理4;break; case 5:処理5;break; default:DoImpossible();break; }
729 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:07:49 ] ごめんなさい 条件の方のflg=*にセミコロン忘れました
730 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:17:22 ] >>728 ネストが3ということだが、一番はじめに提示したソースはネストは1じゃないか? 普通かどうかしらんが、俺の感覚でネストが深くなるといわれると if ( XXX ) { if ( YYY ) { if ( ZZZ ) { } } } ということだと思うんだが?
731 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:20:14 ] 一応、回避策(?)も提示してみる。 int Check( void ) { if ( 条件1 ) return 1; if ( 条件2 ) return 2; if ( 条件3 ) return 3; if ( 条件4 ) return 4; if ( 条件5 ) return 5; return -1; } /**/ switch( Check( ) ) { case 1://以下略 }
732 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:22:28 ] else if{〜}はelse{if{〜}}のことなので、最初のソースのネストは5なんです 正直納得いかないんですが、コードチェッカがそう言って怒るので仕方ありません
733 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:28:20 ] >>731 結局条件を数値に直してswitchしかないんですかね elseは必ず書くことになってるので正直あまり変わらない気がします。ごめんなさい
734 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:33:01 ] そのコードチェッカーは必ず、例外なく、何があっても、守らなければいけないもの? 可読性や汎用性やテスト容易性まで犠牲にしてまで守る利点はあるの? っていっても、守らなきゃならない状況ってのはあるんだろうけど・・・ 関数分割をなるたけして、厳しい部分はswitchに落とすしかないかな?
735 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:40:00 ] >>733 elseはcase -1:でよくね?-1じゃなくてもなんでもいいけど。 条件の内容次第ではうまくいく場合もあるよ。 例えば、文字列比較によって関数呼び出しを行うなら・・・ typedef sturct { const char * str; void ( * func )( void ); } T_HOGE; const T_HOGE Hoge[ 3 ] = { { "right", Func1 }, { "center", Func2 }, { "left", Func3 }, }; for ( cnt = 0; cnt < 3; cnt++ ) { if ( strcmp( Hoge[ cnt ].str, input ) == 0 ) { Hoge[ cnt ].func( ); } } 条件が複雑になれば厳しくなるけど・・・
736 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:41:57 ] bool notYet = true; if (notYet && condition1) {process1; notYet = false;} if (notYet && condition2) {process2; notYet = false;} if (notYet && condition3) {process3; notYet = false;} ...
737 名前:1/2 mailto:sage [2007/11/14(水) 05:31:15 ] #include <utility> #include <vector> #include <iostream> #include <functional> struct func_holder : public std::unary_function<void,void> { typedef result_type (*func_type)(argument_type); func_holder( func_type f ) : m_func(f) {}; result_type operator()(argument_type) const { return (*m_func)(); } private: func_type m_func; }; struct pred_holder : public std::unary_function<int, bool> { typedef result_type (*func_type)(argument_type); pred_holder( func_type f ) : m_func(f) {}; result_type operator()(argument_type a) const { return (*m_func)(a); } private: func_type m_func; }; template< class Pred, class Func > struct dispatcher : public std::unary_function<typename Pred::argument_type, void> { typedef std::pair<Pred, Func> pair; typedef std::vector<pair> vector; void add(pair const& p) { v.push_back(p); } void operator()(argument_type a) { for (vector::iterator i = v.begin(); i < v.end(); ++i) { if ( i->first(a) ) { i->second();break; } } } private: vector v; };
738 名前:2/2 mailto:sage [2007/11/14(水) 05:34:32 ] void out1() { std::cout << "out1!\n"; } void out2() { std::cout << "out2!\n"; } bool pred1(int i) { return i > 0; } bool pred2(int i) { return i == 0; } int main() { dispatcher<pred_holder, func_holder> dis; dis.add( std::make_pair(&pred1, &out1) ); dis.add( std::make_pair(&pred2, &out2) ); dis(0); } .*_holderで指定する関数の方を変えてやったり、predのargumentとして状態を保持した構造体を渡すようにすれば もっと複雑な条件でも使えるかもしれない boostを使えば使い勝手が良くて読みやすいのが作れる?
739 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 16:11:34 ] >>734 必ず守らなければならないとしたときの利点: お前のように、ごちゃごちゃ文句言う奴に対応する時間を取らなくて済む
740 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 16:18:34 ] >>739 必ず守らなければならないとしないときの利点: お前のように、ごちゃごちゃ文句言う奴に対応する時間を取らなくて済む
741 名前:738 mailto:sage [2007/11/14(水) 17:59:11 ] よく考えるまでもなく激しく車輪の再発明してる気になるなぁ(それ以前にC++) これと同じようなものが「boostにあるよ」とか「lokiにあるよ」とか「俺が作ったよ」とかあれば 是非情報をおながいします あとこういうのって、デザパタ用語で責任の連鎖パターンっていうんですか?
742 名前:デフォルトの名無しさん [2007/11/14(水) 21:50:49 ] コンソール上で動かすプログラムを作っています。 画面消去の方法で『ESC [2J』と解説されてるサイトが多いのですが、 XPではエスケープ・シーケンスが使えないようなのです。 他に画面消去に使えるような命令はないでしょうか? コンソール画面上をスペースで塗り潰す以外の方法は無いのでしょうか。
743 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 21:51:38 ] プログラムを書くというのは、特殊化だと思う。 だから、汎用に書くのは間違い。 可読性を損なわないようにベタっと書くべき。
744 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 21:55:55 ] DRY原則は守ってね
745 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:09:17 ] >>742 Win32APIスレで質問すべし。
746 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:13:36 ] APIじゃなくてもclsでよくね?
747 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:18:55 ] そこでPDCursesですよ 単にコンソールIOのシステムコールをCursesのインターフェースでラップしただけだけど そのまま使うよりは使いやすいような使いにくいような
748 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:25:05 ] 血圧が高くて疲労感が取れません。
749 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 03:23:46 ] A.cpp CSample *Sample = 〜〜〜 B.cpp Sample->Loop(); という風にしたいんですが どうにかしてB.cppでSampleオブジェクトを使う方法はありませんか
750 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 04:30:17 ] >>749 グローバル変数
751 名前:デフォルトの名無しさん [2007/11/15(木) 04:45:48 ] windowsでC言語の開発環境を整えようと思いbcpadをダウンロードしようとしたのですが、 ベクターでダウンロードできなくなっており、自身で探してみたのですが、ダウンロードできるサイトが見つかりません。 ご存知の方がいらっしゃいましたら教えてください。
752 名前:デフォルトの名無しさん [2007/11/15(木) 10:28:55 ] >>751 シェアウェアにするとかなんとか書いてるから フリーのVC++2005expとSDKでやれば? ANSIIの関数で複数の関数が 警告で「安全性がなんたらかんたら・・・」って警告 でるけど、別に関数の使い方間違ってなかったら 問題無いし、C言語の開発環境としては VC++2005で十分気軽に使えるでしょ
753 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 21:04:22 ] 配列の要素数をsizeof演算子で得ることができるということは理解できるのですが 配列のポインタから、そのポインタが指す配列の要素数を得ることはできるのでしょうか?
754 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 21:22:21 ] >>753 できない。
755 名前:753 mailto:sage [2007/11/16(金) 02:27:16 ] ありがとうござました
756 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 19:26:34 ] WikibookのMore C++ Idiomsって更新されてるの? 10項目ぐらい聞いたことも無い名称が出ててとても気になるんだけど・・・
757 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 19:29:58 ] 更新履歴みればいいじゃない
758 名前:デフォルトの名無しさん [2007/11/17(土) 19:50:02 ] コンストラクタなんですが クラス名::クラス名() : クラス変数名(値){ // 以下コード } みたいな宣言をされているのですが、「:」以降の文法の意味が分からないのですが・・・。 クラス変数の型は、インクルードしている他のクラスです。
759 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 19:52:17 ] 初期化してるだけ class A{ int a; A(); }; A::A(): a(1) { } の場合、Aのメンバ変数aは1で初期化される
760 名前:デフォルトの名無しさん [2007/11/17(土) 20:02:35 ] なるほどです。 手持ちの本では載っていなかったので。 ありがとうございます。
761 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:07:18 ] その本が入門書であるなら窓から投げ捨てたほうがいい。
762 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 03:02:02 ] 未だにこんなコード載せてる本がたまにあるから困る 間違いだからなこれ A::A(){ a=1; }
763 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 07:34:46 ] int a=1 ; ってのも間違いで、 int a(1) ; にしろってか?
764 名前:デフォルトの名無しさん [2007/11/18(日) 07:40:24 ] どこが?
765 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 07:54:07 ] >>762 間違いってほどでもないな。効率が悪いってだけで。 効率の悪さよりも保守性のために、 あえて初期化リストを使わないという選択もあるよ。 多数のコンストラクタがある場合、 同じ初期化リストをコピペすることになる。 コンストラクタ内で代入するのであれば、 共通した代入をprivateなメンバ関数にできる。
766 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 08:00:24 ] >>765 それはクラス設計が悪い 同じように初期化するメンバで1つクラスにして、それを継承すべし
767 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 08:53:40 ] >>763 その2つは同値な表記 A::A():a(1){}とA::A(){a=1}は意味が違う まあint型くらいなら大して変わらんけどさ
768 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 10:02:10 ] >>766 アンチパターン
769 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:01:06 ] >>766 継承はやりすぎ 包含で十分
770 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:02:24 ] >>767 意味が違うのなら、どちらが正しいかなんて言えないよな
771 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:04:58 ] クラスだとコンストラクタとコピー代入演算子が違う意味を持っているから初期化子に馴れておいた方がいい。 さらにstatic/constが絡んでくると初期化子の方が合理的だと思えるようになるよ。
772 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:14:04 ] 説明がド下手
773 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:52:42 ] C++での質問です EA001 80 EA002 60 EA003 100 EA004 0 EA005 50 みたいな感じに学籍番号と整数値が与えられているテキストファイルを読み込んで、 整数値をソートして行ごとに並べ替えるプログラムを作りたいのですが どのようにテキストファイルを読み込めばいいのか教えてください。
774 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:56:49 ] #include <fstream> std::fstream f("ファイルのパス.txtxtxtxt", std::ios::in | std::ios::binary); void *buff new char[適当な数]; f.read((char*)buff, 読み込むサイズ);
775 名前:デフォルトの名無しさん [2007/11/18(日) 11:59:31 ] >>774 バイナリで読み込む必要ない あとソートはSTLのmapとかsetだと読み込めばソート完了する
776 名前:デフォルトの名無しさん [2007/11/18(日) 15:32:20 ] Visual C++ 2005 Express Edition で、PCのイベントログをとってくるには どうしたらいいんですか?
777 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 15:59:26 ] >>776 Win32API質問スレへどうぞ。
778 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 16:01:51 ] >>776 Win32APIのReadEventLogを使う。 WMIあたりにもっと便利なのがあると思うが、 その質問の仕方を見ていると使いこなせるか疑問。
779 名前:デフォルトの名無しさん [2007/11/18(日) 19:28:29 ] >>777-778 すみません。ありがとうございます。 おっしゃる通り、C言語すら知らないド素人です。 Win32APIとやら・・・Cの基礎を知ってないと駄目なほどのものを使わないと できませんか・・・Windowsのイベントログだから考えてみればそうですよね・・ ありがとうございました。
780 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 22:11:53 ] Cの基礎を知らないでVisual C++でまともなプログラムを作るのはそもそも無理だろWin32APIがどうこういう前に
781 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 11:13:10 ] >>779 とやらって…。Win32APIは別にCの基礎じゃない。
782 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 23:49:41 ] >>781 日本語読めない人ですか? 779は Win32API = Cの基礎を知ってないと駄目なほどのもの って言ってるんであって Win32API = Cの基礎 だなんて一言も言ってないだろ。
783 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 00:15:24 ] そんな必死にならなくてもいいのに
784 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 00:17:31 ] と言う事にしたいのですね:-)
785 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 01:44:13 ] いいえ、事実です。
786 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 02:25:22 ] 1,2、たくさんとしか数えられないから、三行以上の書き込みが必死に見えるらしい。
787 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 12:34:12 ] >>782 Win32APIがCの基礎を知ってないと駄目なほどのもの? 笑わせてくれるぜ。
788 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 13:19:02 ] Win32APIがCの基礎を知ってないと駄目なほどのものって言ってるのは782じゃなくて779だろ。 782は781の読み違いを指摘してるだけ(煽ってるともいう)なのに、なんで782に絡むんだよw
789 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 13:23:47 ] そんなことよりみんなで乱交パーティしようぜ
790 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 13:29:54 ] そんなどうでもい話で盛り上がってんなよ
791 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 13:42:43 ] 新しいネタもないし別にいいんじゃね? どうしても話題変えたかったらなんか質問でもしなよ
792 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 15:18:08 ] C++で、stringに入力した文字列をint型に変換する方法が分かりません。 atoi()を使うとエラーが出てしまいます。