- 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
- 398 名前:768 mailto:sage [2007/08/16(木) 22:36:05 ]
- C99、便利だけどC言語としてみるとキモい・・・
- 399 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 22:38:18 ]
- C++と同期とって進化してくれれば歓迎なんだけどな。
- 400 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 22:57:51 ]
- C99準拠のコンパイラって少ないの?
GCCしか使ってないから知らんのだけど。
- 401 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:02:56 ]
- >>400
Comeau
- 402 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:06:00 ]
- 前使ってた Borland C++ 5.5.1 は C99 非準拠だったな.
- 403 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:06:01 ]
- ICC
- 404 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:20:10 ]
- VC++ のやつが無視しやがってるから広まらないのかな。
- 405 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:20:51 ]
- C99はDと同じ運命をたどればいいんだよ
- 406 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:22:13 ]
- VC++はC++コンパイラだからC99対応しないよ、ってMSの
中の人が言ったんだっけか。
- 407 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:29:51 ]
- 確かにVC++8.0で試すと凄い勢いでエラー出るな
- 408 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:35:47 ]
- まあ、C99 使うくらいなら C++ 使うってのは確かだが
- 409 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 00:35:35 ]
- 数式を画面に表示させるためのライブラリって無いでしょうか?
x^2みたいなのを、綺麗に表示するためのライブラリがほしいのです。 できれば、ソース公開している奴で、無ければソースは無くてもいいのですが とにかく、アプリに組み込んで開発できる奴がいいです。 ちなみに、開発環境はVC++2005、WinXPProを想定しています。 動作環境も同様にXPProです。 よろしくお願いします。
- 410 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 04:48:29 ]
- >>409
ググっただけなんで、中身はシラネ。 www.vector.co.jp/soft/win95/prog/se363439.html
- 411 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 05:26:10 ]
- ビット演算がうまくなるコツってないですかね?
全く使いこなせてないので、 他人のソース読んでて、使いこなせていると凄く羨ましいんですけれど。
- 412 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 05:27:47 ]
- 才能ないよ諦めた方がいい
- 413 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 05:37:52 ]
- コラー!
- 414 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 05:49:50 ]
- 自虐し過ぎ
- 415 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 06:14:34 ]
- >>411
グラフィックまわりをいじって変な画面効果とか作るのが楽しいかも 上達が見てわかるし
- 416 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 08:06:25 ]
- >>411
エンディアンと変数型のバイト幅を意識すること。 算術シフトと論理シフトを意識すること。 コツっていうとこんぐらい? フラグ的な使い方の話だったら、 必要になった時だけ使うのが良いんじゃないかなぁ。
- 417 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 08:08:28 ]
- >>411
論理演算、真理値表、2進数⇔16進数変換。 この辺のキーワードを調べ使いこなせるようになるとずっと違うと思うよ。 例えばこんなの。 a b c r 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 x 1 0 1 x 1 1 0 0 1 1 1 1 こいつからrを求める式を導き出せれば一歩前進。
- 418 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 09:16:08 ]
- 皆さんアドバイス有り難うございます。
ビット演算は大事ですからね。 精進します。 >>417 グヌヌ。 難しいぞ。分かんないっす。
- 419 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 09:22:07 ]
- プッ ヘボすぎ
- 420 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 09:29:14 ]
- ~(a^c)&b
こうですか?
- 421 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 10:04:58 ]
- タンクローリーを運転する人に見えたのは俺だけでいい。
- 422 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 11:18:41 ]
- int foo;
int bar; bar = (unsigned int)foo & 0x0fffffff; という事をしょっちゅうしているプログラムがあるんですけど、 どういう意図を持ってこの処理をしてるんでしょうか? 最初は、int型の変数をunsigned int型にキャストしてint型の変数に代入すると、 例えば-5が代入されてたら4294967291になるのかなぁと思ってたんですが、 そういう訳でもないみたいですし。
- 423 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 11:21:44 ]
- >>422
意図については、そのプログラムを書いた人に聞くのが一番! あと、もう少し基礎を勉強したほうが良いよ
- 424 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 20:27:31 ]
- 動的な配列を作る時は
int* a=(int*)malloc(sizeof(int)*10); if(a==NULL) みたいにしてポインタが有効かチェクしますよね? 二次元の配列を作る目的で int** b=(int*)malloc(sizeof(int*)*10); とやったら、この時も if(b==NULL) で、bが有効なポインタかどうか判断していいんですか?
- 425 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 20:31:19 ]
- はい
- 426 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 21:12:36 ]
- >>424
if(b==(void**)0)
- 427 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 22:36:27 ]
- >>424
#include<stdio.h> #include<stdlib.h> #define X_SIZE 15 #define Y_SIZE 10 int main(void){ int x, y; int **b; b=malloc(sizeof(int*)*Y_SIZE); if(b==NULL) exit(1); b[0]=malloc(sizeof(int)*X_SIZE*Y_SIZE); if(b[0]==NULL) exit(1); for(y=1;y<Y_SIZE;y++) b[y]=&b[0][y*X_SIZE]; for(y=0;y<Y_SIZE;y++) for(x=0;x<X_SIZE;x++) b[y][x]=y*X_SIZE+x; for(y=0;y<Y_SIZE;y++){ for(x=0;x<X_SIZE;x++) printf(" %3d", b[y][x]); printf("\n"); } free(b[0]); free(b); return 0; }
- 428 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 23:01:35 ]
- >>426
キャストしたらダメだろ。 意味変わる。
- 429 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 23:07:24 ]
- >>420
それでもいいけど、(b&~c)^aの方がシンプルだろう。
- 430 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 01:15:04 ]
- a^b&~c ってなところか。
>>411 最低限の論理学の勉強をする。 ド・モルガンの法則とかは必須。
- 431 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 07:42:18 ]
- #define NULL (void*)0
だから ポインタへのポインタが"NULL"かどうかは (void**)0で調べないといけない
- 432 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 08:20:03 ]
- >#define NULL (void*)0
>だから いいえ。
- 433 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 10:12:01 ]
- 世界中のC言語を使える人のコンピューターに対する理解度の高さの平均と、
世界中のJavaを使える人のコンピューターに対する理解度の高さの平均は、 どっちが高いですか?
- 434 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 10:16:53 ]
- マルチ死ね
- 435 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 10:18:08 ]
- >>433
スレ違い
- 436 名前:DEFORTの名無し [2007/08/18(土) 13:41:52 ]
- ひさしぶりぶり
MinGWつかってみたけど微妙
- 437 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 13:47:02 ]
- またお前か
- 438 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 14:28:50 ]
- >>422
0x0fffffff でマスクってことは、下位28ビットが欲しいってだけじゃね。 あと、unsigned int へのキャストは無駄だな。
- 439 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 15:32:58 ]
- >>431
どこからそんなデマを仕入れてきた?
- 440 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 16:02:21 ]
- 脳内
- 441 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 16:06:10 ]
- 新聞
- 442 名前:デフォルトの名無しさん [2007/08/18(土) 20:10:13 ]
- ある特定のウィンドウがアクティブになった時に、そのウィンドウのメニュー内の
特定のコマンドを実行するようにしたいのですが、どのよう記述したら良いでしょうか? 具体的にはXSIとゆう3DCGソフトの「アニメーションエディタ/編集/オリジナルコマンド」 を自動実行させたいのですが、、、 宜しくお願いします。
- 443 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 20:13:48 ]
- C/C++じゃなくてスクリプトで書けば?
- 444 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 20:16:44 ]
- C/C++の勉強すれば分かるよ
- 445 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 00:24:05 ]
- WSHとかの領域になるんかな?あっちの詳細を全部知ってるわけではないけれども
- 446 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 00:43:34 ]
- new int[n]; ← このnのところは、何の型で渡すのか決められてますか?
intとかlongとか(負数はあり得ないので、unsignedでしょうか) あと、Windowsの32ビット環境では、intとlongはまったく同じ型として扱っても問題ないですか?
- 447 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 00:45:47 ]
- >>442
ウィンドウメニュー内の特定のメニュー項目が選択されたときって、 たぶん、WM_COMMANDとかのウィンドウメッセージが飛ぶと思うんだけど、 その具体的なパラメタを調べて、アクティブとかのイベント関係なく 直接呼んじゃだめなの? もし、アクティブになると同時って条件をつけたいなら、 1)ウィンドウをアクティブにする 2)ウィンドウメッセージを送信する っていうだけの簡単なプログラムを作るとか。
- 448 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 01:13:18 ]
- >>446
特定の型には決まっていない。整数ならいい。 負の数になったら未定義動作。 int と long は違う型です。
- 449 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 01:30:05 ]
- music8.2ch.net/test/read.cgi/musicjf/1187412818/72
おもしろいIDでた
- 450 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 01:32:34 ]
- わざわざ他板のを持ってこなくてもいいんだよ
- 451 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 01:34:41 ]
- >>448,446
>特定の型には決まっていない。整数ならいい。 C++の言語仕様の詳細は知らないけど、VCならsize_tでいいんじゃね msdn2.microsoft.com/en-us/library/t48aek43(VS.80).aspx msdn2.microsoft.com/en-us/library/ms859258.aspx >int と long は違う型です。 これもVC(x86)の範囲内で同じようにつかえるかって質問なら、問題ないと思うけど msdn2.microsoft.com/en-us/library/ms859270.aspx
- 452 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 01:36:23 ]
- >>450
この板ID無いが。
- 453 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 01:57:33 ]
- >>451
operator new 関数の第1引数は VC に限らず size_t 。 でもそれと new 式の配列要素数を表す式の型とは別。 サイズが同じだろうがなんだろうが int と long は違う型。 まったく同じ型として扱うのには問題がある。
- 454 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 03:13:14 ]
- >>453
ごめん、1点分からないので、教えていただきたい。 とりあえず、>>446はVCの利用上(実装上)の制限が知りたいんじゃないの、 と思ったので、その観点だけで書いたのは自分の思い込みで、それで意見が すれ違うのは仕方ないんだけど、 >特定の型には決まっていない。整数ならいい。 >でもそれと new 式の配列要素数を表す式の型とは別。 の箇所。 そうはいっても、ソースをコンパイルしてバイナリに落とす以上、コンパイラ定義かも しれないけど、具体的な値の有効範囲ってかならずあるんじゃないの? 実際、MSDNの配列定義のサイズ指定の箇所では 0以上の整数型、ただしMicrosoft仕様では... としてsize_tに言及してるわけだし。 それにoperator new 関数の第1引数がsize_tに決まってるなら、size_t以上の値を 記述して受け入れてくれるコンパイラがありそうにないので、 その意味でも「整数ならいい」ってのはあいまいな感じがする。 なので、「整数ならいい」ってのは純粋に言語仕様の話として語っているのか、 それとも、コンパイラの実装やソース記述上の制限を語る場合でも同じ回答 になるのか、気になって眠れなくなりそうなんで、正確なところが知りたいんだけど。
- 455 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 03:20:37 ]
-
________ / | /__ | / /. |-―‐. / \ / | / ./ | ノ ヽ__」 | .―┼‐フ |/ /|/ ̄ ̄ ̄\ //| | | | | (二X
- 456 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 03:39:56 ]
- >>454
現行の規格ではだいたい >>453 みたいなことしか言えない。ある意味 これが正確なところ。 new とは別に、各処理系が定めるべきいろいろな数値の上限の中に 「オブジェクトのサイズ」というのがある。配列オブジェクトもこの制限を うけるので、値の範囲はこれに基づくとも言える。これについて規格が 最低限のガイドラインとして提示しているのは 262144 。 まだ規格化はされてないけどこんな話もある。 www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#624
- 457 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 04:45:36 ]
- ありがとう、これで寝られる。
仕様自身は結局釈然としない部分があるけど、 >>448,453の回答が正確で誠実な回答というのは理解できた。 リンク先は策定中の次期規格? また、膨大な項目が... 現状でさえ、もうついていけないくらいややこしいのに。
- 458 名前:デフォルトの名無しさん [2007/08/19(日) 12:35:03 ]
- #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); } というプログラム書くとエラー出るのはなぜでしょうか?ちなみに 14さいからはじめるリアルに動くゲーム物理プログラミング教室C言語編 という本に載ってます。
- 459 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 12:38:39 ]
- エラーの内容かけ。
- 460 名前:458 [2007/08/19(日) 12:40:14 ]
- エラー E2141 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 4: 宣言の構文エラー
エラー E2190 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 4: 不要な } エラー E2190 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 4: 不要な } エラー E2303 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 5: 型名が必要 エラー E2356 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 5: 'ChangeWindowMode(int)' の再宣言で型が一致していない エラー E2344 C:\Users\shiro\Desktop\MyC\プロジェクトに追加すべきファイル_BCC用\DxLib\DxLib.h 1017: 一つ前の 'ChangeWindowMode(int)' の定義位置 エラー E2063 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 5: 不正な初期化 エラー E2293 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 5: ) が必要 エラー E2040 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 6: 宣言が正しく終了していない エラー E2303 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 7: 型名が必要 エラー E2356 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 7: 'DrawBox(int,int,int,int,int,int)' の再宣言で型が一致していない エラー E2344 C:\Users\shiro\Desktop\MyC\プロジェクトに追加すべきファイル_BCC用\DxLib\DxLib.h 1519: 一つ前の 'DrawBox(int,int,int,int,int,int)' の定義位置 エラー E2063 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 7: 不正な初期化 エラー E2293 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 7: ) が必要 エラー E2040 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 11: 宣言が正しく終了していない エラー E2190 C:\Users\shiro\Desktop\MyC\dxtest\dxtest.cpp 12: 不要な } *** 16 errors in Compile *** ** error 1 ** deleting Debug\dxtest.obj です。 ちなみに今日勉強したばかりでさぱりとわかりません
- 461 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 12:41:46 ]
- 勉強してないからエラーが出る
- 462 名前:デフォルトの名無しさん [2007/08/19(日) 12:42:05 ]
- どんなエラーがでてるの?
- 463 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 12:42:21 ]
- 最初に4行目にエラーが出ているだろう。
4行目を穴があくまでじっくり見ろ、その教科書とひたすら比較しろ。 それでわからなかったらもっかいおいで。
- 464 名前:デフォルトの名無しさん [2007/08/19(日) 12:45:46 ]
- 彼はエラーの見方がわからないと思う
- 465 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 12:46:33 ]
- #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, 0, 120, 65535, TRUE); WaitKey(); DxLib_End(); return(0); }
- 466 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 12:49:38 ]
- ChangeWindowMode(1);
こっちのがいいかも分からんね
- 467 名前:458 [2007/08/19(日) 13:11:31 ]
- >>465のように書いてみましたが
まだ Fatal: ファイル VORBISFILE_STATIC.LIB が開けません と出ます。 >>464 まったくおっしゃるとおりです
- 468 名前:デフォルトの名無しさん [2007/08/19(日) 13:59:36 ]
- >>467
エラーの通りvorbisfile_static.libってファイルが見つからないんだろ。 あとは環境が分からないと何も言えないと思う。 自分の開発環境を検索ワードに入れて、 (「vorbisfile_static.lib VC++」とか「vorbisfile_static.lib BCC」とか) その辺でググって見たらどうよ?
- 469 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 15:14:22 ]
- というか似たような質問を、DxLibのサイトで何度も見た気がするんだ。
- 470 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 15:55:17 ]
- vorbisfile_static.libはDxLibのアーカイブに同梱されてるから
それをソースと同じディレクトリにコピー というか「このフォルダのファイルを全てコピー」みたいなフォルダなかったか?
- 471 名前:230 [2007/08/19(日) 23:24:29 ]
- GNU Compiler Collectionのg++コンパイラで
-std=c++98というコンパイラオプションというのがあるらしいのですが ぐぐってもよく分かりませんでした。 誰か教えてください。
- 472 名前:471 [2007/08/19(日) 23:25:32 ]
- 230というのははミスです。すみません(汗
- 473 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 23:42:30 ]
- コンパイラマニュアルとかないの?
- 474 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 23:48:12 ]
- >>471 gcc.gnu.org/onlinedocs/
- 475 名前:471 [2007/08/19(日) 23:49:45 ]
- どもです。探し見てみます。
- 476 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 23:51:50 ]
- もう見てないかな
まるちか?2ちゃんではマルチポストは叩かれるですよ せめて、主とする、質問したスレを付記 機嫌が良ければ、そこにヒント書きますから
- 477 名前:デフォルトの名無しさん [2007/08/19(日) 23:56:08 ]
- 今更VC++6.0のMFCなんですけれど、
ツリーコントロールのアイテムの文字列が長いときに 横スクロールにせず、文字列を折り返すことってできますでしょうか?
- 478 名前:デフォルトの名無しさん [2007/08/20(月) 01:12:13 ]
- curses(ncurses)のプログラミングを euc-jp 環境で行って来たのですが、
訳あって utf-8 環境で行うことになりました。 euc-jp 環境で作ったファイルを utf-8 環境に持ってきて、 iconvで文字コードを変更し、コンパイル、実行すると、出力(日本語)が文字化けてしまいます。 utf-8 環境に持ってきた euc-jp のファイルを、 文字コードをそのままにして、端末の表示文字コードを utf-8 から euc-jp に変更した上で、コンパイル、実行すると、正しく表示されます。 これななぜでしょうか? curses が utf-8に対応していないとかってありますか?
- 479 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 01:14:08 ]
- >>478
ソース文字セットと実行文字セットは別。 gcc のオプション -finput-charset と -fexec-charset を参照すべし。
- 480 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 01:15:56 ]
- >>478
curses 関係あるのか? puts("あいうえお") とかで試せばわかると思うけど。
- 481 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 01:20:45 ]
- 先ずは問題の切り分けだね。
>480の言うように標準出力に出力してみてその時点で文字化けしているならgccのオプションなどを調節。 その上でcurses使うと化けるのなら、cursesの設定か何か、その辺りの調査。
- 482 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 01:36:08 ]
- operator=で返す自分の参照は、constつけるべきですか?
- 483 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 01:42:23 ]
- >>482 いいえ。
- 484 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 01:48:55 ]
- 寧ろつけてはいけません。
- 485 名前:デフォルトの名無しさん [2007/08/20(月) 02:10:18 ]
- >>447
どうもです XSIではコマンドを実行する際にエディタのIDのような物が必要で、 エディタウィンドウを複数開いている時には、コマンド実行前に その時アクティブなウィンドウのIDを取得する必要があります。 WM_ACTIVATEとかを使えば良いのでしょうか?
- 486 名前:デフォルトの名無しさん [2007/08/20(月) 02:24:33 ]
- 動画とかをエンコードするデコーダって色々ありますよね。
あれ使えるソフト作るのって大変なんでしょうか? AVIutlみたいなソフトって個人では簡単に作れないんですかね? どの辺勉強したらいいんでしょうか?
- 487 名前:デフォルトの名無しさん [2007/08/20(月) 02:27:35 ]
- >>478 です。
>>479,480,481 さんを参考にして少しいじってみました。 まず、480さんの言うように、単純に puts("あいうえお") を行うプログラムを書き実行してみました。 すると、”-finput-charset=utf-8 -fexec-charset=utf-8”が有る無しに関わらず、文字化けしませんでした。 次に、cursesのコンパイルを、”-finput-charset=utf-8 -fexec-charset=utf-8”を付けて実行してみたところ、やはり文字化けが発生しました。
- 488 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 02:43:20 ]
- 単にcursesがutf-8に対応して無いんじゃないの?
utf-8だと端末上での漢字の幅がバイト長と単純に一致しなくなるし naiveな実装だと色々問題起きそう
- 489 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 03:30:44 ]
- VC++2005で<cstdio>等をインクルードすると、
std::printf はもちろん、名前空間のない ::printf も使えてしまいます。 BCB2006だと逆に、<stdio.h>をインクルードすると ::printf を使えますが、 std::printf も使えます。 どちらが正しいのでしょうか。また、正しくない方を正しくする方法はありますか?
- 490 名前:デフォルトの名無しさん [2007/08/20(月) 04:18:35 ]
- >>478です。
www.hakodate-ct.ac.jp/~tokai/tokai/gtkmm/etc/p3.htm というサイトがあったので、 ・-lncurses ではなくて -lncursesw をリンクする ・#include <locale.h> ・setlocale( LC_ALL, "" ); を取り入れたところとりあえず、euc-jp 環境のファイルを utf-8 環境に持ってきて、 このファイルの文字コードを utf-8 に変えてコンパイルし実行すると、 文字化けしない ・・・というのは達成できました。 しかし、私は UNIX(LINUX) にあるような SLコマンド のクマAA バージョンを作って遊んでいたのですが、 euc-jp環境とutf-8環境では少し動きが変わってしまいました。 その動きの変わってしまう場所が、euc-jp環境で苦労して改良したところなので、 かなりショックです。 まぁ、なんとか解決策があればいいのですが、 私の知識ではちょっとつらいかも知れません。
- 491 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 07:47:38 ]
- for(;;)
; こんなのあるのね びっくり
- 492 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 09:25:05 ]
- 無限ループの常套手段
- 493 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 09:27:33 ]
- 俺はwhile(1)派
- 494 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 09:31:18 ]
- 自分も無限ループはwhile派かな
カウンタが要るときはfor使うかもしらんけど
- 495 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 09:46:09 ]
- >>489
<cstdio> で std::printf が、 <stdio.h> で ::printf が使えるようになることになっている。 1つのヘッダで両方が使えるようになることは保証されない。
- 496 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 18:43:51 ]
- std::bad_allocを捕まえたりいろいろ例外処理を書いているのですが、
メモリ4GBもあるので、デバッグ中にbad_allocが投げられることは今まで一度もありません。 投げられた際の動作をデバッグしたいのですが、そういうときはどうすればいいでしょうか。 敢えてメモリを消費したりするんですか? ↑ではbad_allocのことですが、他にもWindowsのAPI関数が失敗したときとかも、 ちゃんと自分が書いた処理が動作するか確かめたいんですが。
- 497 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 19:07:29 ]
- throw std::bad_alloc();
- 498 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 19:37:17 ]
- >>496
適当にラップして失敗に相当する結果を返せばいいべ
|

|