1 名前:ぬ ◆NUNUK382Dk mailto:sage [2007/12/27(木) 20:32:47 ] エスケープシーケンスやWin32APIなどの環境依存なものでもOK。 ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.45【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1197090562/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
409 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 15:29:34 ] >>408 英語を学ぶことによってマクベスを書くことは可能かどうか、 英語で書くより簡単な言語はあるかと聞くくらい、無意味だ。 こっちにでも逝け。 初心者のためのプログラミング言語ガイド Part6 pc11.2ch.net/test/read.cgi/tech/1193132235/
410 名前:デフォルトの名無しさん [2008/01/07(月) 15:52:46 ] >>408 どんな言語でも何かを作る時apiや構文等の知識は必要となり 簡単ていう概念はとっぱらったほうがいい。 どんなもんでもある程度確立した物を作るのはめんどうなもんだ。
411 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 16:06:29 ] 誘導ありがとうございます。 簡単と言う発言は軽率でした 言語にも向き不向きがあるかと思ったので、 より作りやすいと言う意味でした それでは誘導先に行ってきますので、 こちらでの質問は取り下げさせてください
412 名前:デフォルトの名無しさん [2008/01/07(月) 22:33:27 ] 藤原紀香相手に中だしSEXするよりは簡単だろう
413 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 22:52:17 ] >>412 おっさん乙
414 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 01:33:25 ] C++の標準I/Oライブラリについてですが、 basic_istream<>やbasic_ostream<>はbasic_streambuf<> を利用してバッファ入出力を行ってますが、継承はして ないですよね?basic_istream<>やbasic_ostream<>は コンポジションとしてbasic_streambuf<>を保持してるのですか?
415 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 02:45:31 ] .jpgとかをいじるのは古いプログラムなんですかね。
416 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 02:47:09 ] >>414 そうともいう。
417 名前:デフォルトの名無しさん [2008/01/08(火) 03:01:57 ] 入力がEUCで漢字コードを検索したい場合、どうやればいいんでしょうか?コンパイラはシフトジスが基本みたいです
418 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 03:45:00 ] >>415 「いじる」ってのをどういう意味で使ってるのかよく分からんが JPEG<=>ビットマップの変換は古いというか普通ライブラリを使う
419 名前:デフォルトの名無しさん [2008/01/08(火) 04:01:05 ] int iskanji(int c) { return (0xA1 <= c && c<=0xfe) }
420 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 05:28:11 ] std::vector<int[10]>みたいなことをやりたいのですが、ベクタのベクタにするか、 メンバ変数に配列を持つ構造体のベクタにするしかないんでしょうか
421 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 05:53:22 ] >>420 int[10]は型じゃないっしょ?
422 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 07:23:33 ] >>419 EUC の1バイト目はもうちょっと範囲広いし、 3バイト文字も存在する。
423 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 07:49:19 ] どこのEUCだか。
424 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 11:52:47 ] >>420-421 int[10] は要素数 10 の int の配列型だよ。でもコピーコンストラクタや代入演算子が 使えないんで vector には入れられない。 >420 の言うような回避方法が必要。
425 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 12:50:52 ] バイナリのデータを1バイトづつ読み込んでいって、FFといデータの前に 次の値を書き込むというのをやりたいんですが、こういったことをやる場合、 ifstreamで読み込んでいってデータを見つけたら位置を取得→ ofstreamを使って取得した位置に書き込みという風にやらないといけないのでしょうか?
426 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 12:55:28 ] >>425 C/C++ 標準のファイル操作ではファイルの一部だけを書き換えることはできない。 データの挿入もこれに当てはまる。(ただし元の内容の後ろに追記はできる。) ってことで新しいデータを含んだファイルの内容を全部 ofstream に突っ込むことが必要。
427 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 13:09:13 ] >>420 std::vector<int(*)[10]>とか
428 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 13:14:32 ] >>425 入出力を別のファイルにしておいて、入力データが「FFとい」だったら それを出力する前に「次の値」を出力すればよろしい。 一つのファイルでそれを実現するのは、(サイズが変わるのであれば)むずかしい。
429 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 13:15:37 ] >>426 >C/C++ 標準のファイル操作ではファイルの一部だけを書き換えることはできない。 いいえ。
430 名前:426 mailto:sage [2008/01/08(火) 13:23:52 ] ごめんよ。サイズの変わらない書き換え(上書き)はできるね。データの挿入ができないんだ。
431 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 13:31:44 ] >>426-430 ありがとうございます。勉強になりました。 バイト配列にデータを全部読み込んで、配列をFFの一つ前のデータまで書き込んで→ 新しい値を書き込んで→残りの配列を書き込む という方法でやりたいと思いますm(_ _)m
432 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 14:51:17 ] >>431 istreambuf_iteratorとostreambuf_iterator使うと簡単にできそうだな。 速いし。
433 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 17:39:27 ] webカメラ(usb接続)のドライバの取得方法と、 プログラム内でそのドライバを作用させる方法をご教授願えないでしょうか 環境は.net 2003 c++です
434 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 18:36:44 ] ドライバ直じゃなくて普通はDirectShow経由じゃね?
435 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 20:05:46 ] readlineがGPLだったので、自前で書くついでにc++に移植しちゃおうと思いました。 ezstreamというクラスを作って、 string line; ezstream es; es.setline("yes"); es.setline("no"); line = es.getline(); と書けば、line=の行でreadline風の動作(ヒストリなどカーソルキー使用可能、ctrl+aなどのemacs風キーバインドも最低限使用可能) をするところまでは書き上がりました(tab補完はまだですが……)。上の記述では、さらに起動時点でヒストリにyesとnoが入っています。 (つまり、↑を押せばno,yesの順にコマンドラインに出てくる) で、せっかくなので ezstream es; es << "yes"; es << "no"; es >> line; と記述出来るようにしたいと思っています。 template<class E, class T = char_traits<E> > class basic_ioestream : public basic_iostream< E, T >{ private: hogehogehoge; public: string getline(void); string setline(void); basic_ioestream& operator>>(…… ここで詰まったのですが、どう書けば良いのでしょうか。 それとも>>のオーバーロードだけすれば済むような単純な話ではないのでしょうか?
436 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 20:23:50 ] むしろoperator >>を定義すればよいという話ではないよ。 Boost.Iostreamsを使うのが楽。 www.kmonos.net/alang/boost/classes/iostreams.html それを使いたくなければ、ググれ。 www.google.co.jp/search?q=iostream+%E6%8B%A1%E5%BC%B5
437 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:00:35 ] mac ox10.5を使ってるのですが、次のソースコードをgccで コンパイルしようとするとエラーが出てしまいます。 ソース----------------- #define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> int main(void) { FILE *fp; char *line = NULL; size_t len = 0; while (getline(&line, &len, stdin) != -1) { printf("%s", line); } if (line) free(line); exit(EXIT_SUCCESS); } ---------------------- エラーメッセージ-------- Undefined symbols: "_getline", referenced from: _main in ccm08hLk.o ld: symbol(s) not found collect2: ld returned 1 exit status ---------------------- getline関数関連のエラーなのですが、ネットを検索していると次のような記述を発見しました。 『MacのGCCはGNUのに手を入れてあるのでstdio.hにgetlineがない』 getlineを使用してコンパイルを成功させるには環境をどのようにすれば良いのでしょうか。
438 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:09:10 ] 無い関数は作る! 勉強になるから作ってしまおう
439 名前:437 mailto:sage [2008/01/08(火) 21:18:41 ] すみません。目的としては他の人が作ったソースをコンパイルすることなのです。 使用するソースコードは既に用意されているので、(非常に長いソースコードです) できればソースコードをいじらないでコンパイルしたいのです。
440 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:25:02 ] >>439 まずどの環境のどのコンパイラをターゲットに書かれたソースか調べる。
441 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:25:12 ] >>439 別のファイルに関数を作ればいいから、ソース変更しなくてもいいよ。
442 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:58:11 ] >>423 eucJP-ms
443 名前:433 mailto:sage [2008/01/08(火) 22:40:06 ] >>434 VFWを使っていますので残念ながらDirectShowを使うことができません カメラをUSBポートから引っこ抜いてから再度差し カメラを動作させるといったことをしたいのですが…
444 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 22:50:30 ] C++で、比較的大きくてかつ静的な連想配列を宣言したいんだけど、 ソースコードにどうやって埋め込むのがスマートでしょうか??
445 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 23:25:19 ] class Hoge { public: const std::map<A, B>& GetMap() { static Hoge singleton; return singleton.m_map; } private: Hoge() { // ここで初期化 } std::map<A, B> m_map; }; こんな感じか?
446 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 00:26:45 ] >>330 それを実行するのにはコンパイラには何か必要なんですかね。
447 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 00:40:52 ] >>446 日本語でおkだな。 コンパイルしたいのであればC++のコンパイルが可能なものであればなんでもいい。 コンパイラに必要なものが知りたいのであれば、ソースファイルだけあればいい。
448 名前:デフォルトの名無しさん [2008/01/09(水) 00:45:13 ] 質問です。 bcc developerを使ってC言語を勉強してるんですが、 #include ""DxLib.h" int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, int nC) { ChangeWindowMode(TRUE); if(DxLib_Init() == -1)return(-1); DrawBox(0,0,120,65535,TRUE); WaitKey(); DxLib_End(); return(0); } と打ち込むと Error: 外部シンボル 'WinMain' が未解決(C:\BORLAND\BCC55\LIB\C0W32.OBJ が参照) となります。 いろいろ調べてみた結果Windows アプリケーション→コンソールアプリケーションに チェックを変えると、 Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照) となり、やはりだめです。。 もうにっちもさっちもいきません。どなたかアドバイスお願いします
449 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 00:55:34 ] #include <windows.h> コンパイルオプション -W
450 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 00:59:49 ] >>448 よく分からんけど先頭行に #include<windows.h> でいけるかも
451 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 01:57:55 ] >>444 ソート済み const 配列の形で定義して、 lower_bound() とかする関数を インターフェースとしてかぶせとけばいいんじゃない?
452 名前:448 [2008/01/09(水) 02:06:46 ] 説明不足ですみませんでした。 とある参考書を使っていて、「DxLib」というファイルをインクルードして 進めていくらしく、それで#include"DxLib"となっているみたいです。 >>449-450 れすありがとうございます。 #include<windows.h> としたんですが、同じエラーがでました。 コンパイルオプションってどうやっていじるんでしょうか。 BCC developerのプロジェクト設定で ●コンソールアプリケーション(-WC) Windowsアプリケーション(-W) というようにチェックするところがあるんですが、 このことですか?
453 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 02:12:28 ] あたりが付いてるならとりあえずやってみてから質問してはどうか
454 名前:448 [2008/01/09(水) 02:16:38 ] やってみたんですが、だめでした。 根本的に間違ってるんでしょうか
455 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 02:29:52 ] >>451 それなんてEffective(ry
456 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 02:38:20 ] >>448 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5704.zip 素直に、VC++とかにしてくれれば、話は早いんだが、まぁ、ゲーム作りたいやつは応援する主義なんでね。
457 名前:448 [2008/01/09(水) 02:54:28 ] >>456 ありがとうございます! さっそくやってみます
458 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 03:23:36 ] >>448 とりあえず、VC++2005ExpressEditionを進めておく www.microsoft.com/japan/msdn/vstudio/express/maninstall/ の 「Visual C++ 2005 Express Edition」 日本語版 611,540 KB 0xB3AD1A2F を選択してダウンロード、 仮想ドライブでインストール、あるいは、一度CDに焼いてから、でもよい。 Win32APIを利用するためには、PlatformSDKが必要 www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en ここの、最後のほうに、「PSDK-x86.exe 1.3 MB」と (Download) がある。 似たようなのが、3つあるが、一番下の(Download)を選ぶ。ダイアログが出ると保存なりしてくれ。 ダウンロードした exe を実行して指示に従えばよい。 参考ページ : www.microsoft.com/japan/msdn/vstudio/express/visualc/
459 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 03:50:34 ] 2008じゃだめなん?psdkも一緒にインスコできるぜ
460 名前:デフォルトの名無しさん [2008/01/09(水) 03:56:03 ] ポインタの基本的なことなのかもしれませんが、良く分からず悩んでおります。 2次元、3次元配列をポインタにキャストして操作したいのですが、 以下のような操作は問題ないのでしょうか? int* hoge = (int *)new int[2][3]; 例えば、上のようにcastして、1次元配列のint[5]と同じように 操作しても問題ないでしょうか?
461 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 04:04:13 ] >>461 ちょっとずれるかもしれないが、plaza.rakuten.co.jp/tcross/diary/200711230000/ キャストは、一日3回までだっていったでしょう。 できるだけキャストしないですむように組みましょう。 問題ありそうな気がする。試してないので、あれだけど。
462 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 04:07:53 ] C++のブースト以外のプログラムってないでしょうか。
463 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 04:10:49 ] 意味が分からないぞw ライブラリのことならそりゃいっぱいあるよ
464 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 04:12:35 ] >>460 CもC++も配列はあくまでも一次元。(多次元と表現するけど。) 今の場合は、int[3]を要素として二つ持つ一次元配列だから int (*p)[3] = new int[2][3]; だと思う。
465 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 04:12:45 ] >>461 断言できないが、簡単に試したら、問題なかった。 でも、気持ち悪いので、出来るだけキャストはやめて欲しい。
466 名前:460 [2008/01/09(水) 04:23:49 ] >>461 >>464 >>465 みなさんありがとうございます。 できれば変なキャストはさけたいのですが、 呼び出さなければいけないDLLのメソッドが int * で待ってまして、どうやって2次元配列、3次元配列を渡せば よいのか悩んでおります。 (ちなみにFortranのDLL) いちおう上のようなやりかた int* hoge = new int[2][3]; で渡して動作しているよう?なのですが、 なにか動きがおかしいようです・・ メモリ的にはint[5]と同じなので、問題ないのかな? とも思うのですが・・
467 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 04:39:05 ] 2 * 3 = ?
468 名前:460 [2008/01/09(水) 04:41:41 ] >>467 すみません、int[6]でした。
469 名前:460 [2008/01/09(水) 04:47:58 ] www.nurs.or.jp/~sug/soft/tora/tora10.htm ここをみると、 int x[10][10]; int i; int *p = (int *)x; for( i = 0; i < 100; i++ ) { *p++ = i; } printf( "x[5][5] = %d\n", x[5][5] ); とあるので、どうやら問題なさそうですね・・。 でもC++でも問題ないのか、なぞですが・・。
470 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 04:58:32 ] >>466 int (*p)[3] = new int[2][3]; にして&p[0][0]を渡せばいいんでない? キャストしないとコンパイルエラーだし、コンパイルを通すための無理やり キャストは正直気持ち悪い。
471 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 05:04:30 ] int* hoge = (int *)new int[2][3]; いや待てよ。上の場合だと delete [] hoge; が未定義動作になる可能性がなきにしもあらずな気がしないでもない。 大丈夫かもしれんが移植性と規格を考えたら、>>470 のほうが安心だな。
472 名前:460 [2008/01/09(水) 05:39:13 ] >>470-471 ありがとうございます。そちらの方がやさそうですね。 ためしてみます。 ちなみに3次元配列の場合は int (*c)[2][3]= new int[5][2][3]; のような感じですよね?
473 名前:460 [2008/01/09(水) 05:39:46 ] 「よさそうです」の間違いでした。
474 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 07:42:52 ] 最初から1次元配列で確保しておいて、オフセットを調整した方がいい希ガス。 オフセット計算用にこんな関数でも用意して。 static int offset(int w, int x, int y) {return w * y + x;}
475 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 10:47:37 ] >>472 そう。 >>474 そう思う。
476 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 12:37:45 ] >>448 俺は前にbccでWinMainの引数型不一致でコンパイル通らなかったことがある 詳しいことは忘れたが第三引数がTだったような、違うかったような
477 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 14:17:31 ] スレ違いかもしれませんが7-zip32.dllで 自分で作ったデータを直接zipで保存する方法分かる人いませんか? 具体的に言うと 自分で作ったデータをファイルとして出力→7-zipでファイルを指定して圧縮 はできるのですが 圧縮範囲をポインタで指定→ファイル名を指定して書庫作成 ができないのです。
478 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 14:25:20 ] >>477 ファイルアーカイバで、ファイル以外のものをアーカイブする機能があるとも思えないが。 そもそも、なんでファイルに出力しちゃいけないの?
479 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 14:30:51 ] >>478 数が多いので出来ればいちいちアウトプットしたくないんです。 最悪 ファイル出力→書庫作成→ファイル消去 ってしようと思ってます。 やっぱりこういったdllには基本的にないんですかね?
480 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 14:40:17 ] 圧縮したいだけならアーカイバのDLLを使わないで圧縮ライブラリ使ったら?
481 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 14:51:38 ] そのとおり
482 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 14:52:07 ] >>479 7-zip32.dllのAPIリストを流し読みしてみたが、メモリソース展開用の関数は無いっぽい。 出力先はメモリで受け取れるみたいだけどなw 480が言ってるようにzlibなりを使うのも手。 (その場合他のアーカイバと互換性を持たせるのは少し面倒だが) あとは7-zip32.dllのソースをいじってメモリソース対応版を作るのも良いかも。 該当箇所を探すのが少し面倒だろうけど。
483 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 15:27:16 ] 軽く調べたら7zip(7-zip32.dllではなく、本家のほう)のcommon/StdInStream.h .cpp を修正すればメモリソースに対応できると思う。 あとは自分で調べるか詳しい人に聞いてね
484 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 16:58:56 ] 統合アーカイバDLLってのは、基本的はファイル経由ばかりかと。 極端に言えば、昔の(今もあるけど)コマンドラインインターフェースを そのままDLLに渡して動かすために作られたようなものだから。 各DLLに共通の操作を実現させるために、基本的な処理が中心だし。 だから、その元になるものを参考にすれば、大抵はオンメモリの操作になる。 例えば、TAR32.DLLではなくてzlibを使うとかね。 全てにそういうのがあるわけじゃないだろうけど。
485 名前:デフォルトの名無しさん [2008/01/09(水) 17:44:08 ] >>463 ライブラリ詰め合わせとかがあると便利なんですけど 誰かマジレスお願いします。
486 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 17:44:36 ] >>466 //配列へのポインタ−−簡単な例 #include <stdio.h> int main(void) { int a[4][10]; // 配列 int i, j; int (*p)[10]; // 配列へのポインタ //配列へ代入 for(i=0;i<4;i++) { for(j=0;j<10;j++) { a[i][j]=(i+1)+(j+1)*10; } } //ポインタを使って表示する for(p=a;p<a+4;p++) { for(i=0;i<10;i++) { printf("%3d ",(*p)[i]); } printf("\n"); } return 0; }
487 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 17:46:51 ] >ライブラリ詰め合わせ そりゃいくらでもあるぞ。目的も環境も判らんからなんとも言えんが。
488 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 17:49:23 ] >>485 割とまじめに答えたんだがな 存在するなら 欲しい機能名 ライブラリ で適とーにぐぐれば見つかるだろ いろんなライブラリが片っ端から詰め合わせてあるのが欲しいとか?w ねーよwwwww
489 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 17:49:55 ] アーカイバの展開なら00AM型Susieプラグインがメモリストリームからの展開サポートしてるのにね。
490 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 19:09:33 ] FILE_ATTRIBUTE_TEMPORARYを付けてCreateFileして、 Windowsにバッファフラッシュされないことを期待。
491 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 19:34:13 ] >>488 ここ2、3年新しいライブラリとかは作られていないんですかね。 携帯全盛期でほとんどプログラム終わってると困るんですけど。 キャノンの説明受けに行くのでちょとでも関係あることあればいいんですけどね。
492 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 19:44:08 ] 「キャノン」って書いてる時点で
493 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 20:17:43 ] ぶっちけた話C++でformに写るようにするには VBしかないんでしょうか。
494 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 20:23:37 ] 画像表示さえできればボンバーマンくらいはすぐできるだろう 今ならjavaとかが手軽でいいんじゃないか
495 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 20:31:41 ] VC2005で簡単にゲーム作ってみようと思ったんですが、 getch()でキーコード受け取ったら、カーソルキーが全部224で判別できないんです。 これをどうにかして識別する方法を教えてください。 別にgetchに拘らなくてもいいですが、出来ればC/C++の標準ライブラリに入っているものだと嬉しいです
496 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 20:38:13 ] >>491 488が否定しているのは詰め合わせのようなものの存在を否定しているだけだぞ。
497 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 21:01:59 ] >>495 そもそも getch は標準関数じゃない
498 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 21:11:49 ] >>495 とりあえず「ゆきいるか」でググってLunaでも使っとけばいいと思う。
499 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 21:24:35 ] >>491 Qt でも使ってみたら。
500 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 21:26:00 ] >>495 カーソルキーは二つのコードが送られてくる気がする 224 が制御コードで続くコードでカーソル方向が判別できるはず
501 名前:495 mailto:sage [2008/01/09(水) 21:31:18 ] 回答ありがとうございます。getchって標準ライブラリじゃなかったんですか、初めて知りました… >>498 あんまり外部のライブラリ使いたくなかったんです。ちょっと試しにやってみようかって程度だったので。 >>500 その発想は有りませんでした。試してみたら確かに取得出来ました!
502 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 21:40:54 ] ttp://msdn2.microsoft.com/ja-jp/library/19f56tw3.aspx ↑のページに書いてあるコードで、一度 #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__) と定義してから #define new DEBUG_CLIENTBLOCK と定義し直す意味って何かあるのでしょうか
503 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 21:59:54 ] new( _CLIENT_BLOCK, __FILE__, __LINE__)っていう文字列にトラウマがあって使いたくないんじゃね
504 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 22:01:23 ] >>493 ・CLI+Windows.Form ・VCL
505 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 22:38:12 ] >>502 ヘッダファイル内で new が置換されると困るだろ?
506 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 22:39:46 ] 困るってのは、具体的に言えば operator new あたりが一番困る。
507 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 23:05:08 ] レスありがとうございます。おおよその目的がわかりました。 newを使うファイルでいちいち #define new DEBUG_CLIENTBLOCK を定義するのがめんどくさそうですね
508 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 23:06:40 ] それ専用のヘッダファイルを用意するとか。 最後にインクルード。
509 名前:448 [2008/01/09(水) 23:13:00 ] >>458 なにからなにまでありがとうございます。。いじくってみます。 >>476 そのへん調べてみます