1 名前:デフォルトの名無しさん [2008/09/06(土) 22:45:12 ] エスケープシーケンスやWin32APIなどの環境依存なものでもOK。 ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.58【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1218023777/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm ◆ソースのインデントについて 半角やTABでのインデントはスレに貼ると無くなります。 そのため、アップローダーに上げるのが最も良いですが、 直接貼るのであれば、全角空白か に置換しておくことをお勧めします。
375 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 15:54:53 ] これでどんな環境でも、メモリは解放されますか? クラス側で解放処理をしなくても、STLを使っている範囲(newは使わない)では自動開放されますか? class A{ public:vector<char> x; A(){x.resize(10000000);}}; main(){ map<string,string> w; w["hage"].resize(10000000); cout<<"enterを押すとstringのメモリを解放します。 "; getchar(); w.erase("hage"); cout<<"メモリは解放されましたか。 "; getchar(); map<string,A> z; z["piza"].x[0]; cout<<"enterを押すとクラスのメモリを解放します。 "; getchar(); z.erase("piza"); cout<<"メモリは解放されましたか。 "; getchar(); }
376 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 16:01:47 ] STLのメモリ解放は変な点がありますから心配です。 というのも、vectorでclear();使っても全く解放できないからです。swapしかないので。
377 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 16:10:25 ] ブロックでくくれば抜けたとき解放されるだろ
378 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 16:11:03 ] 何も変な点なんてねぇよ。 clearやresizeでメモリを解放する必要などない。
379 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 16:13:50 ] MinGW3.4.5を使っているのですが、 list<vector<int> > l; vector<int> v(10,0); l.push_back(v); とすると、 stl_list.h:435: warning: '__p' might be used uninitialized in this function という警告が出ます。 l.insert(l.end(),v); とすれば警告は出ないのですが、何が問題となっているのでしょうか?
380 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 17:51:32 ] >>376 効率を上げるために、開放されないよ。 clearするってことは、次に直ぐ追加される可能性があるかもしれないってことで、バッファっは保持されるんだ。
381 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 18:39:19 ] AUX CON NUL PRN をファイル名に使うとバグりますか?
382 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 18:43:25 ] バグるかもしれないし、バグら無いかもしれない
383 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 18:45:05 ] DOSの予約デバイス名が入っていたときに処理がおかしくなる代表例を教えてください。 WindowsXP以上でAPIを使ったときバグりますか?
384 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 18:47:45 ] うちのパソコンだと、AUXを名前に含めても、エラーが出ずに エクスプローラーで書き換えられます。 問題出ますか?
385 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 19:04:12 ] 一意的な絶対パスに変換する方法教えてください。 下のpはパスとして正常なんですけど・・・ これを変換する関数は無いですか? char p[]="C:\\hoge_hoge\\..\\windows\\Notepad.exe"; system(p); //パスが有効か? char q[300]; GetLongPathName(p, q, 300); wcout<<p<<"\n->\n"; wcout<<q<<endl;
386 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 19:20:50 ] 自己解決しました char p[]="C:\\////\\hoge_hoge\\..\\windows\\Notepad.exe"; char q[300]; GetFullPathName(p, 300, q, NULL); printf("%s\n", q);
387 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 20:34:56 ] すみません。 wchar_t型配列に、世界各国語と英字の大文字・小文字が入っているとき 大文字を小文字に変換するにはどうしたら良いでしょうか?
388 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 20:47:41 ] towlower
389 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 21:00:05 ] すみません。このようにしたいんです。 中国語・・・ABCDF・・・中国語 →中国語・・・abcde・・・中国語 ロシア語・・・FUNCTION・・・ロシア語 →ロシア語・・・function・・・ロシア語
390 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 21:02:36 ] 何語でも出来ますか?? towlower() の動作は、現在のロケールの LC_CTYPE カテゴリに依存する。 この関数を Unicode 文字に対して使うのはあまり適切でない。なぜなら、 Unicode には大文字(upper case)・小文字(lower case)・タイトル文字(title case) という 3 つの "case" が含まれているからである。 manpages.ubuntu.com/manpages/feisty/ja/man3/towlower.html
391 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 21:36:50 ] こんな感じ? wchar_t us_tolower(wchar_t c) { if(c<='A' && c>='Z') { c=c-'A'+'a'; } return c; }
392 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 21:45:26 ] unicodeて、どのOS、コンパイラでもアルファベットはASCIIと同じですか?
393 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 21:47:34 ] 何?
394 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 21:48:44 ] >>391 なんか怪しいけど、せめてLを・・・
395 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 21:50:59 ] たまにはEBCDICも思い出してね
396 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 21:52:47 ] コンパイルした環境に依存しないで、たとえば日本のVC++でコンパイルして、 ロシアや中国でも小文字になりますか?
397 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 21:55:51 ] BCCでコンパイル中に任意のメッセージ書き出せるマクロみたいのってないよね?
398 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 21:59:15 ] GetUserDefaultLCID と LCMapString でやってみます。
399 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 02:19:19 ] intel c++はisostream入っていませんか?
400 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 02:38:34 ] 日本語体験版だと入ってないのかな? なんかヘッダが足らないみたいです インストールの失敗? 英語体験版をいれて日本語で上書きしたらいいかな?
401 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 02:50:42 ] わかりました。VC++2008との統合が失敗してたのですがそれが原因みたいです。 wikiより。 実行に必要なライブラリやリンカなどは付属していないため、他のコンパイラの環境に寄生した形で実行される。 WindowsではMicrosoft Visual Studioが、LinuxではGCCが必要である。
402 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 02:52:46 ] isostream?
403 名前:デフォルトの名無しさん [2008/09/20(土) 17:52:54 ] あるところからC++のソースコードをダウンロードして、 そのフォルダの中のsample.vcprojというのを実行すると、 VisualStadioが起動しました。 サンプルコードのはずなので、F5を押して実行すると、 「シンボル情報がありません:firefox.exeのデバッグ情報が見つからないか、 または一致しません。シンボルが読み込まれていません」 というウィンドウが表示されました。どうすればよいでしょうか?
404 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 17:57:33 ] あるところって、どこ?
405 名前:403 [2008/09/20(土) 18:10:55 ] 404さん www.cs.umd.edu/~mount/ANN/ からann_1.1.1.zipをダウンロードして、 MS_Win32→sample→sample.vcprojを実行しました。
406 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 18:29:16 ] プロジェクトの構成がReleaseになってるだけじゃないの? Ctrl+F5とかで実行したら?
407 名前:403 [2008/09/20(土) 18:36:34 ] 406さん プロジェクトの構成はDebugでした。 Ctrl+F5とすると、Firefoxが新しく起動しました。 プロジェクトの構成をReleaseにしてみて、 F5を押すと「デバッグセッションの実行可能ファイル」というウィンドウが出てきて、 「実行可能ファイル名」を選ばされました。 よく分からず、既定のWebブラウザを選んで実行しました。 それを過去にもやったため、Firefoxが動いているんだと思います。 「デバッグセッションの実行可能ファイル名」を何にすればよかったのでしょうか?
408 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 19:08:56 ] 1回かたの消しちまって、めんどくさくなった。 >>407 落としたけど、スタートアッププロジェクトがdllになってない? samleをスタートアッププロジェクトに設定しないと、VSからは起動できない。 あと、sampleをビルドして出来るのは、コマンドラインアプリだったので、 F5実行だと、DOS窓が一瞬出てすぐ消えた。 デバッグセッションの実行可能ファイル名で解決したいなら、 「展開したフォルダ\ann_1.1.1\MS_Win32\bin\ann_sample.exe」 じゃないかね
409 名前:403 [2008/09/20(土) 19:54:14 ] 408さん F5実行で、DOS窓が一瞬出てすぐ消えた、ところまではできました。 「引数無しで実行」したときはエラーになるようなので、 コマンド引数に「-df data.pts -qf query.pts」と設定して 実行してみました。すると「cannot open data file」と表示されました。 すこし前進したようです。 あとはどうやってファイルを開くのか試行錯誤しているところです。 query.ptsというのは点のデータだと思います。 Test dataフォルダには「data_pts」がありますがちょっと違う。 これを読めばいいのか、または別のところにデータがあるのか。。。
410 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 20:12:01 ] test1-data.pts,test1-query.pts,test2-data.pts,test2-query.pts ってのがあるみたいだけど
411 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 20:13:07 ] 俺が落としたヤツだと「ann_1.1.1\test\」の下に test1-data.ptsとtest1-query.ptsってのが転がってたんで、 それを「ann_1.1.1\MS_Win32\bin\」の下にコピってからDOS窓で ann_sample.exe -df test1-data.pts -qf test1-query.pts って打ったら動いたけど。 VCからだとカレントフォルダ分かりづらいから 別にDOS窓起動した方が良いんじゃない? 引数の設定にフルパスで書いても良いと思うけど。 まぁそろそろ飽きたんで引っ込む。
412 名前:403 [2008/09/20(土) 20:16:28 ] 411さん 長いことありがとうございました。 後は自分で進んでみます。
413 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 20:41:25 ] 逆アセンブラしてCのソースに貼り付けたら、動かせますか? コマンドラインの引数を、関数の引数に変換できますか
414 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 20:44:13 ] >逆アセンブラしてCのソースに貼り付けたら、動かせますか? そのまま貼り付けてコンパイルしたら動かないね いやそも逆アセンブラするってなんだよって話だが >コマンドラインの引数を、関数の引数に変換できますか main関数の引数になります
415 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 20:50:17 ] DOSプロンプトで動くツールで、ソースが無いものをパクリたいのですが・・ できないですか? test.exe ファイル名 > 出力名 というツールを char * test(char *ch){ アセンブラ } という関数に出来ませんか
416 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 20:57:14 ] 無理?
417 名前:デフォルトの名無しさん [2008/09/20(土) 20:59:24 ] 普通に通信して連携すれば?
418 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 21:00:36 ] 速度はひとつにした方が速いと思うんですが
419 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 22:12:24 ] >>415 関数が export されていて、インターフェイスが公開されているなら簡単にできるが、それ以外だと面倒 グローバル変数を使ってたりしたら「自作のほうが楽じゃね?」ってなるかもw
420 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 02:22:25 ] すみません こういうツールの作り方教えてください 圧縮ファイルをすべてのアプリに対してフォルダと認識させる方法です wINDOWSエクスプローラのみなら昔からできたのですが Zipファイルをマウントする?「Pismo File Mount Audit Package」 www.moongift.jp/2008/07/pismo_file_mount_audit_package/
421 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 03:16:01 ] #include <stdio.h> #include<math.h> double simpson(double, double, double, double); double func(double); int main(void){ /* 必要な変数の定義をする */ double h,xkisu,xguu,s0,s1,s2,ans,x1,x2,n,x0,i; scanf("%lf", &x1); scanf("%lf", &x2); printf("x1 = %f\n",x1); printf("x2 = %f\n",x2); /* 偶数の分割数を入力するまで繰り返す */ do{ scanf("%lf", &n); printf("n = %f\n",n); if ((n%2) != 0){ printf("!! Bunkatsu su ha gu-su- desu !!\n"); } else break; } while (n%2!=0);
422 名前:421 mailto:sage [2008/09/21(日) 03:17:12 ] すみません、みすって投稿してしましました。 上のは途中までのプログラムなのですが コンパイルすると 22: 浮動小数点の不正な使用(関数 main ) 25: 浮動小数点の不正な使用(関数 main ) とでます。 なぜでしょうか?
423 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 03:33:07 ] 小数を整数で割った余りって何なんだよ。 nはintとかにしとけ。
424 名前:デフォルトの名無しさん [2008/09/21(日) 04:52:19 ] Cでのメモリの取られ方についてご教授いただけませんでしょうか。 下記のようなコードを書いた場合、 static const char *teststr[6] = { "00000", "1111111111", "2", "3", "444", "555555" }; それぞれの文字列でピッタリ埋まるサイズでメモリが確保されて、 それらを指すポインタがteststrに格納されるのでしょうか? VCで試したところ、確かにteststrの各配列に指定した文字列が格納されていたのですが、 ポインタのみを確保して、その位置のデータを破壊して、指定文字列を格納しているということはないでしょうか? 組み込み(ARM)での開発に使用しようかと思っています。 よろしくお願いします。
425 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 05:02:09 ] そんなもの処理系によるとしか
426 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 05:12:15 ] Cで@や$や`記号が使われなかった理由ってあるんですか。
427 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 05:16:12 ] これ以上トリグラフ増やすのいやだったんじゃね
428 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 07:28:28 ] >>424 破壊はしない。
429 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 13:51:14 ] >>424 > それぞれの文字列でピッタリ埋まるサイズでメモリが確保されて、 > それらを指すポインタがteststrに格納されるのでしょうか? そのとおり。 文字列はROM、ポインタはRAMに置かれる。
430 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 15:26:49 ] >>429 ポインタが RAM にいっちゃうのは teststr に const が付いてないからだよね?
431 名前:デフォルトの名無しさん [2008/09/21(日) 15:27:21 ] Cから最近C++に移行しました。 関数を void foo(char* filename); と宣言して使うときに foo("data.dat"); とやると deprecated conversion string constant to char みたいな 警告が出ます。これは何が不味いのでしょうか?
432 名前:デフォルトの名無しさん [2008/09/21(日) 15:28:02 ] >>431 const 付けたらいいんじゃね?
433 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 15:28:17 ] >>431 文字列リテラルは書き換えできないから char const で受け取らないとあぶない。
434 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 15:34:55 ] マクロの中で " をあらわすにはどうしたらいいですか? エスケープを使うとエラーになり、そのまま使うと文字列リテラルとして解釈されてしまいます。。。
435 名前:デフォルトの名無しさん [2008/09/21(日) 15:35:43 ] つまり foo(const char* filename); と宣言すればよいということでしょうか?
436 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 15:35:48 ] >>434 状況が見えんな。エラーになるコードとエラーメッセージをどうぞ。
437 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 15:37:21 ] 現在二次元配列と2重ループを習っている超初心者です 質問なのですが列和と行和を求めるプログラムで、 列和も行和も同じループ内で処理できるのは何故なのでしょうか?
438 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 15:37:56 ] >>435 foo の中で filename の指す先を書き換えないんなら、それでいいはず。 っていうか、試せよ。
439 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 15:39:09 ] >>437 日本語でどうぞ
440 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 15:39:55 ] >>437 それだけ言われてもわかんねーよw 二次元配列を一次元配列にキャストしてるとか?
441 名前:437 mailto:sage [2008/09/21(日) 15:47:42 ] すみません・・・どう表現していいかわからず整理しないまま打ってしまいました 考察の一部なんですが、これ以外文章にしようがなくて困っています プログラムをあげたほうがいいでしょうか?
442 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 15:49:34 ] >>441 まだ相談したいならコード晒せ。あの文章じゃ無理だ。 コード晒せば答えが得られる保証はないけどな。
443 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 16:02:09 ] 簡単なことだ 二重ループは行列の全ての要素にアクセスするための手段でしかないから その扱いについては制限されない あとは各行和各列和を格納する配列を定義して要素に応じてそれぞれ適切に加算していくだけ
444 名前:441 mailto:sage [2008/09/21(日) 16:07:01 ] 初心者丸出しで長ったらしいプログラムなのでろだにあげてみました。 No.7729です。よろしくお願いします。
445 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 16:38:13 ] for(j=0;j<4;j++) for(i=0;i<3;i++) table[3][j]+=table[i][j]; これ行和しか求めてないよ。ソース中には列和を求める部分は見当たらなかったけど。
446 名前:444 mailto:sage [2008/09/21(日) 18:52:32 ] >>445 列和の計算を入れ忘れている事に気付きました。ありがとうございます この行和と列和を求めるプログラムの考察で、 列和も行和も同じループ内で処理できるのは何故かと言う問いなのですが 理由は>>443 でOKもらえますかね・・・?
447 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 19:11:38 ] >>446 >>443 は日本語がちょっとおかしいのでちゃんとした文章を自分で考えてくれろ 正解かどうかは知らないし
448 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 19:54:02 ] すいません質問なのですが、とあるクラスのprotectedメンバはその派生クラスの派生クラスからはアクセスできないんでしょうか?? MinGWで色々やっているのですが、間接継承の関係にあるクラスのprotectedメンバにアクセスしているプロググラムを実行すると、フリーズしてしまいます。 アドバイス頂けると幸いです。
449 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 20:29:22 ] >>448 フリーズするならそれはまったく別の問題。
450 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 20:40:54 ] >>448 フリーズならどこかで無限ループしてるんじゃ
451 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 21:27:02 ] VCの_COM_SMARTPTR_TYPEDEFなんですけど これで作ったCOMのスマートポインタもAttachで入れないと カウントがずれるですか?
452 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 23:02:33 ] 頻繁に使われる関数で常にメモリを100Kほど確保して置きたいのですが どのようにしたら良いですか? マルチスレッド対応の方法教えてください こういう警告と同じ箇所で英語のエラーがでます。 マルチスレッド アプリケーションのコンストラクタでローカル静的変数を使うことは危険
453 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 23:08:57 ] >>452 クラスにしとけ。
454 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 23:59:27 ] 100K みたいに大きいバッファは マルチスレッド関係なく動的に確保しる。
455 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 00:44:37 ] 頻繁に使うから、再確保はしないでそのままにしておきたいのですが。 2個以上同時に使われるとバッファが壊れますが、どうしたらいいでしょうか?
456 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 00:49:20 ] 確保してから、アプリケーションが終了する直前までずっと確保したままでいい。 とりあえずマルチスレッドプログラムを組む場合は同期オブジェクトを勉強してください。
457 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 01:34:08 ] 寝る前だけど質問させてもらいます C++で横スクロールするアクションゲームっぽいもの 作ってるのですがキャラクターをクラスで扱っていて 場面ごとの関数1つ1つにクラスの変数やメソッドを使うから インスタンス定義ってのをやらなきゃいけないようで そうするとそのせいで場面の移り変わりのときに それまで使っていた変数が初期化されてしまって ttp://www.dotup.org/uploda/www.dotup.org0173.jpg このようになってしまいますよね キャラクターのクラスだけでなく他にも場面やステージを 隔てて初期値に戻ると困るものを保存したり引き継いだり できればいいのですがどうすればいいのでしょうか・・・
458 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 01:38:03 ] >>457 保存したり引き継いだりすればいいよ。 コンストラクタ含めて関数には引数が渡せるだろ。 その画像のプレゼン能力はすばらしい。
459 名前:424 mailto:sage [2008/09/22(月) 01:43:49 ] >>428 >>429 回答ありがとうございました。 これから検討してみたいと思います。
460 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 01:45:46 ] スコープが広めのリサイクルオブジェクトコンテナ見たいなのを作って、シーン終了時に必要なものを追加 次のシーン初期化時に、シーンのオブジェクトコンテナに移し変える
461 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 03:08:24 ] 質問です。 ファイルオープンで、ファイルから値を読込んでもう一つのファイルにその値を書込むプログラムで、 読込用はテキストファイル(.txt)、書込用はバイナリファイル(.bin)を用いました。 上記の2つのファイルサイズは少量ですけど違いました。 この違いは何によるものなんでしょうか。
462 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 03:13:07 ] 改行コードじゃない?
463 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 03:52:47 ] 読込ファイルの値はスペース区切りでした テキストファイルから「1 2」という値を読み込みバイナリファイルに書き込んで ファイルをエディタで開くと「01 00 00 00 02」と表示されますが、 つまりは書き込みがバイナリファイルだとスペースにもコードがあるから ファイルサイズが大きくなる・・・ということでいいんでしょうか・・・?
464 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 04:06:47 ] >>461 ,463 読み込んで形式変えて書き込んでるんだから、そもそも同じになるわけがないな。
465 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 04:30:31 ] 質問です。 他のプロセスのメモリを監視するプログラム作ろうとしています。 ReadProcessMemoryで値を取得することはできたのですが、 できればそのメモリアドレスの値が更新された時に取得を実行したいです。 この「メモリアドレスの値が更新された」というイベントを取得することは可能でしょうか?
466 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 04:54:21 ] >>451 コンストラクタならfalseー緒に渡せば、AddRefしないよ。 operator=は無理だな。
467 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 07:22:34 ] >>465 チートツールはほどほどにしとけよ
468 名前:448 mailto:sage [2008/09/22(月) 12:19:03 ] >>449 >>450 おっしゃる通り別の問題でした汗 ありがとうございましたm(_ _)m
469 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 12:42:19 ] 327です。 >329 ありがとうございます。 u_char *ucharAdr; ucharAdr = (u_char *)(gulngUpdataAddress & 0x0fffffff) + 0x0c800000; memcpy( ucharAdr, gushtUpdataArea, gulngUpdataDataCount * sizeof(short)); で、いけました。
470 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 12:45:08 ] CImageで(a,b)から(x,y)まで直線を引く方法はありませんか?? MoveTo、LineToを使用せずに描きたいです。
471 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 12:48:25 ] なんでMoveTo、LineToを使用したくないの?
472 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 13:13:47 ] >>470 おいらのCImageなら、メンバにLine(CPoint from, CPoint to)があるからそれを使えるよ。 でも、あんたの言っているCImageにそれがあるかどうかは知らんけどね。
473 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 19:04:58 ] const char str1[] = "str"; const char * str2 = "str"; "str"が配置されるのは、前者の場合、配列に格納するコードのところ 後者では文字列を置いておくところだと思うのですが、どういうときに、どちらを選べばいいのでしょうか 自分で考えたところでは、 ・上の場合は、コンパイル時に配列のサイズが決まるのでstrlenなどを使う必要がない ・下の場合は、自動変数の確保がポインタだけですむ(速い?) というちがいだと思うのですが、ほかにも違いがあるのでしょうか
474 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 19:18:10 ] >>473 後者は str2 = "another" のような代入が可能になってしまう。たぶん意図したものじゃないだろう。 static const char str3[] = "str"; ↑これなら挙げられた前者と同じメリットを得つつ、後者のメリットを上回る(自動変数の確保はゼロ)。
475 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 19:46:37 ] const char * const str2