1 名前:デフォルトの名無しさん mailto:sage [03/11/09 15:37] いろんなスレが乱立していますが、統合的なスレッドがないので立てました。 質問もOK 関連スレ C#って死滅する理由がないよね! Part4 pc2.2ch.net/test/read.cgi/tech/1042464104/ C#最強伝説 pc2.2ch.net/test/read.cgi/tech/1061208152/ C#とJava、どっちをおぼえればいいの? pc2.2ch.net/test/read.cgi/tech/1006715468/ C#Builder Professional 質問箱 pc2.2ch.net/test/read.cgi/tech/1062433418/ 関連リンク dir.yahoo.co.jp/Computers_and_Internet/Software/Programming_Tools/Programming_Languages/C_Sharp/
52 名前:デフォルトの名無しさん mailto:sage [04/01/18 12:54] >>51 いいえ、シェル拡張です。
53 名前:デフォルトの名無しさん mailto:sage [04/01/18 13:24] >>52 ふーん、俺の Windows2000 では kernel32.dll にあるみたいなんだけど、君のは違うんだな。
54 名前:デフォルトの名無しさん mailto:sage [04/01/18 20:52] SDKにあるね。FindFirstChangeNotification。 MSDN参照。おしまい。
55 名前:デフォルトの名無しさん mailto:sage [04/02/14 16:39] C++で質問なんですが 2行3列の行列の和を求める関数 int sum(int x[][3],int y[][3],int z[][3]) で仮引数x[][3]をx[][]と出来ないのは何故ですか? また、この関数だとn行3列の行列の和しか出せないのですが n行m列の行列の和を出す関数は作れないんでしょうか?
56 名前:デフォルトの名無しさん mailto:sage [04/02/14 17:05] >>55 >で仮引数x[][3]をx[][]と出来ないのは何故ですか? サイズのわからない型を要素とした配列は定義できないからです。 サイズがわからないと、添え字によるアクセスができないので。 >n行m列の行列の和を出す関数は作れないんでしょうか? 作れます。
57 名前:56 mailto:sage [04/02/14 17:13] 「作れます。」ではあまりに不親切ですね… 一例を書いておきます。 int sum(int *x, const int *y, const int *z, int n, int m) { for(int i = 0; i < n; i++) for(int j = 0; j < m; j++) x[i * m + j] = y[i * m + j] + z[i * m + j]; return 0; }
58 名前:デフォルトの名無しさん mailto:sage [04/02/14 17:28] >56さんありがとうございます。 これで次章に進めます。
59 名前:デフォルトの名無しさん [04/02/16 18:32] 文字列を数値に変換してそれをint型の変数に入れたいのですが 例えば char buf[] = "23456"; int num; こんな形だった場合、numに数値の23456を入れるにはどのようにするんでしょうか? bufに入るのは数字のみです。 よろしくお願いします(´・ω・`)
60 名前:デフォルトの名無しさん mailto:sage [04/02/16 18:33] atoi
61 名前:59 mailto:sage [04/02/16 18:34] sage忘れ&宿題スレと間違いました。。。すいません 首吊って逝ってきます(´・ω・`)
62 名前:デフォルトの名無しさん mailto:sage [04/02/16 21:29] 西成広告 ■ ソフトの総合商社 そふとはうす ■ Windows日本語製品版です。Macもあります。 単位はすべて円です Office 2003 Pro 10,000 WindowsXP Pro 4,000 Windows2000 Pro 4,000 Windows2003 ServerEnterprise 15,000 FrontPage 2003 4,000 OneNote 2003 4,000 Acrobat 6.0 Pro 7,000 AfterEffects 6.0 Pro 15,000 CreativeSuite Premium 20,000 Premiere Pro 10,000 DreamweaverMX 2004 5,000 FlashMX 2004 5,000 FireworksMX 2004 5,000 StudioMX2004 with FlashPro 10,000 LightWave3D 7.5 10,000 Shade6 Pro 10,000 AutoCAD 2004 20,000 AutoCAD LT 2004 12,000 VectorWorks Ver10.5 10,000 RenderWorks Ver10.5 10,000 3DStudioMAX 6J 10,000 NortonSystemWorks 2004 Pro 3,000 NortonInternetSecurity 2004 Pro 3,000 Painter8 5,000 すべてユーザー登録できません。windows日本語製品版です。 ご注文はここ→ chuumon@jumpy.it
63 名前:デフォルトの名無しさん [04/02/19 12:25] デジタルマーズってどうやってつかうのでつか? コンパイルはできまつたが、リンクでおちまつ。
64 名前:デフォルトの名無しさん mailto:sage [04/02/20 18:34] Lineage2, ResonanceAge等の3Dゲームのマクロ or BOTをCで作りたいのですが知識が無くて製作できません お勧めの書籍やツール等あったら教えてもらえないでしょうか? 資金はバイトで貯めた5万円です、BOTを作るにあたってアドバイスなど頂けたら嬉しいです
65 名前:デフォルトの名無しさん [04/02/20 18:35] age忘れました
66 名前:デフォルトの名無しさん [04/02/20 18:55] 質問でふ。 コンパイルして作られる実行ファイルのアイコンを Windowsのデフォルトのアイコンでなくて別のビットマップに したい時はどうしたらよいでしょう? ググったけどわからなかった・・
67 名前:デフォルトの名無しさん mailto:sage [04/02/20 18:56] Windowsでしたらリソースでググって下さい。
68 名前:66 [04/02/20 19:51] >>67 なんかわかったっぽいです。 心から礼を言いたい。
69 名前: mailto:sage [04/02/22 19:19] 列挙型で質問なんですが enum menu{ add, kill }; menu selemenu(void) { int a; return (menu(a)); } int main(void) { menu b; switch( b = selemenu() ) { 略 } return 0; } 私が参考にしている本では上記のように selemenu関数の返却値a(menu型)をmain関数でb(menu型)に代入しています。 しかし、bがint型でもa(menu型)が代入できてしまいます。 なぜですか?
70 名前:デフォルトの名無しさん mailto:sage [04/02/22 19:23] >>69 互換性があるからです。ポインタと配列のようなものです。
71 名前:デフォルトの名無しさん mailto:sage [04/02/22 19:38] まだポインタまで勉強してないんですが 配列の要素一つ一つに型が設定できるとか言う話と関係するんですか? レスありがとうございます。
72 名前:デフォルトの名無しさん mailto:sage [04/02/22 22:02] enum型は int の値に名前を付けて、その集合を定義していると考えればいい。 通常は0から順に値が自動的に当てはめられるが、 enum menu{ add = 10, kill = 20 }; みたいに値を指定することもできる。
73 名前:デフォルトの名無しさん mailto:sage [04/02/22 22:29] あまり詳しいことを言うと混乱するかもしれないので言わないが、 列挙体型の値は int 型へ明示的なキャストなしで変換される。 それは仕様。 で、逆に int 値から列挙体型へは明示的にキャストしないといけない。
74 名前:デフォルトの名無しさん mailto:sage [04/02/23 11:23] >>71 > 配列の要素一つ一つに型が設定できるとか言う話と関係するんですか? 意味不明。
75 名前:デフォルトの名無しさん mailto:sage [04/02/29 18:38] C++で質問なんですが typedefがなんなのかが良くわかりません。 staticやautoは解かるんですが・・・
76 名前:デフォルトの名無しさん mailto:sage [04/02/29 20:50] >>75 ある型に別の名前を付ける予約語です。 Cの時代は構造体のstructが省けなかったのでそれの除去などによく使われていました。
77 名前:デフォルトの名無しさん mailto:sage [04/02/29 22:55] C++だと、名前空間とかクラステンプレートの指定を省略するのによく使われている。
78 名前:デフォルトの名無しさん mailto:sage [04/03/07 13:01] 名前空間はエイリアスが作れるが。 namespace A = B::C::D;
79 名前:デフォルトの名無しさん mailto:sage [04/03/07 13:15] >>78 >>77 が言っているのは typedef std::string string; のような話じゃないか? クラス内では名前空間に対するusingができないから 有効なこともあるかと。
80 名前:デフォルトの名無しさん mailto:sage [04/03/07 13:20] std::stringの実体ってびろーんと長いテンプレートの具体化なんでしょ?
81 名前:デフォルトの名無しさん mailto:sage [04/03/07 13:35] >>79 なるほど。そういうことか。
82 名前:デフォルトの名無しさん mailto:sage [04/03/13 17:45] ポインタについて質問です int* a; a = &b; この場合aがポインタ? ポインタだとすると&bの名前は何でしょうか? それともint* a; a = &b; 二つでポインタ?
83 名前:デフォルトの名無しさん mailto:sage [04/03/13 17:59] >>82 ポインタは「型」について言うときと「変数」について言うときがある。 int* a; /* aは「intへのポインタ」型の変数。単に、aはintへのポインタであるとも言う。 */ a = &b; /* &bは「intへのポインタ」型の式。型が同じなのでaに代入できる。 */
84 名前:デフォルトの名無しさん mailto:sage [04/03/13 18:03] >83 即レスありがとうございます。
85 名前:デフォルトの名無しさん mailto:sage [04/03/13 19:34] >>83 アドレスとポインタは違うものだと思うぞ。
86 名前:デフォルトの名無しさん mailto:sage [04/03/14 18:00] 関数へのポインタに関して質問です double型の引数を受け取って、double型を返却する関数へのポインタfuncを double (*func)(double x) と宣言するそうなんですが int* a = &bとオブジェクトへのポインタを宣言するなら、関数へのポインタの宣言は double* func(double x) になるんじゃないでしょうか?
87 名前:デフォルトの名無しさん mailto:sage [04/03/14 18:04] >>86 int ???; は、"???の型がintである。"と読むといい。 int *a; なら、*aの型がint、 double (*func)(double); なら、(*func)(0.0)の型がdouble double *func(double); なら、*func(0.0)の型がdouble
88 名前:デフォルトの名無しさん mailto:sage [04/03/14 18:56] >87 int* a = &bとint *a = &bは同じ宣言なんですか? >double (*func)(double); なら、(*func)(0.0)の型がdouble double *func(double); なら、*func(0.0)の型がdouble *funcに()のある無しで何か違いはあるんでしょうか?
89 名前:デフォルトの名無しさん mailto:sage [04/03/14 19:06] 関数ポインタと普通のをごっちゃにするなよ
90 名前:デフォルトの名無しさん mailto:sage [04/03/14 19:16] ごっちゃにしてたみたいです; double *func();とするとdouble型へのポインタを返すfunc関数 double (*func)();とすると整数を返す関数へのポインタfunc ってことでしょうか? double *func();とするとdouble型へのポインタを返すfunc関数 は番地を受けとってなにか処理をして番地を渡す関数になるんでしょうか?
91 名前:デフォルトの名無しさん mailto:sage [04/03/14 19:26] ごっちゃになってるのは君の頭だ。と言ってみる。 >>87 > int* a = &bとint *a = &bは同じ宣言なんですか? 同じ。 > *funcに()のある無しで何か違いはあるんでしょうか? ポインタなら変数だから中身を入れ替えられる。 逆に普通の関数は定数だとでも思って。 >>90 > double *func();とするとdouble型へのポインタを返すfunc関数 > double (*func)();とすると整数を返す関数へのポインタfunc doubleを返す関数へのポインタ、ね。 > double *func();とするとdouble型へのポインタを返すfunc関数 > は番地を受けとってなにか処理をして番地を渡す関数になるんでしょうか? 意味不明。引数にアドレスを取るような宣言には見えない。 番地を渡すというのが返すという意味なら、そこは正しい。
92 名前:デフォルトの名無しさん mailto:sage [04/03/14 20:08] なるほど レスありがとうございました。
93 名前:デフォルトの名無しさん [04/03/17 23:10] 素朴な疑問なんだけどfloorって関数があるじゃない。 実数xに対してxを超えない最大の整数を返すやつ。 例:floor(5.3)=5 floor(-1.5)=-2 で、これってなんで戻り値が実数になってるの? double floor(double x) じゃなくて int floor(double x) のほうが自然だと思うのだけど。 何か理由があるんですか?
94 名前:デフォルトの名無しさん mailto:sage [04/03/17 23:14] int(double x) のほうがもっと自然だな
95 名前:デフォルトの名無しさん mailto:sage [04/03/17 23:15] >>93 intの範囲を越えた場合どうしましょう?
96 名前:デフォルトの名無しさん [04/03/17 23:25] >>95 あーなるほど。 どうもありがとん
97 名前:デフォルトの名無しさん mailto:sage [04/03/18 03:32] Web用のCのCGIで、<form>から受け取ったデータの解釈はどうやればいいのでしょうか? 環境変数を得るまではできたのですが・・・ GETとPOST両方教えてください。 Perlはそこそこできますが、Cは初心者です
98 名前:デフォルトの名無しさん mailto:sage [04/03/18 03:49] >>97 www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/index.html
99 名前:デフォルトの名無しさん mailto:sage [04/03/18 03:57] >98 既に見ました。 C++じゃなくてCでありませんか?
100 名前:デフォルトの名無しさん mailto:sage [04/03/18 04:19] >>99 お前、全然読んでねーだろ。
101 名前:デフォルトの名無しさん mailto:sage [04/03/18 05:05] >100 読んでもさっぱりです。 そういえばCって仮想配列むりなんですよね
102 名前:デフォルトの名無しさん mailto:sage [04/03/18 05:59] >100 www.coins.tsukuba.ac.jp/~yas/classes/syspro-2003/2003-06-09/ ここので一応、取得はできました。
103 名前:プログラムだめぽ [04/03/23 20:46] しょぼい質問で悪いのですが(´・ω・`) 下のifとelseifの部分で何も実行しないように 作りたいのですが、エラーがでてしまいます どうすれば解決します? void remove_dead_path(struct survival_path *root){ if(root->upper!=NULL)remove_dead_path(root->upper); if(root->lower!=NULL)remove_dead_path(root->lower); if(root==leaf[0]) ←ここから else if(root==leaf[1]) else if(root==leaf[2]) else if(root==leaf[3]) ←ここまでなにも実行したくない else free(root); }
104 名前:デフォルトの名無しさん mailto:sage [04/03/23 20:51] >>103 if(root==leaf[0]) ←ここから ; else if(root==leaf[1]) ; else if(root==leaf[2]) ; else if(root==leaf[3]) ←ここまでなにも実行したくない ; else free(root);
105 名前:プログラムだめぽ [04/03/23 20:55] >>104 セミコロンつけるだけでよかったのか ありがとう〜助かった。・゚・(ノД`)・゚・。
106 名前:デフォルトの名無しさん mailto:sage [04/03/24 20:18] >>25 この削除人て、アホだろ
107 名前:デフォルトの名無しさん [04/03/29 15:21] あほなのはむしろ>>106 であるという趣旨の書き込み
108 名前:デフォルトの名無しさん [04/04/10 13:58] むしろくそスレほどageる価値があるという趣旨の書き込み
109 名前:デフォルトの名無しさん [04/04/30 21:09] 現在勉強中のC初心者です。 独習Cの次に読むとよさげな本を教えてください。
110 名前:デフォルトの名無しさん mailto:sage [04/04/30 21:41] 独習Cが終わっても、まだそんなこと言ってるのか。
111 名前:デフォルトの名無しさん [04/04/30 21:52] >>110 だめですか?
112 名前:デフォルトの名無しさん mailto:sage [04/04/30 21:54] 猫でも分かるWindowsプログラミング、でもやってみれば?
113 名前:デフォルトの名無しさん [04/04/30 21:57] あ、Windowsプログラミング、興味ありました! そうか、そういけばいいのですね。 すみません、ご親切にありがとうございます!!!
114 名前:デフォルトの名無しさん mailto:sage [04/04/30 23:09] 独習Cの次は初めてのCだ。 間違いない。
115 名前:陽一 mailto:sage [04/05/03 11:59] 分からないときは、 作ってわかるCプログラミング。 分かったら、CCレモンを飲む。 間違いない。
116 名前:デフォルトの名無しさん mailto:sage [04/05/08 16:39] 質問です。 キーボードの入力をscanfとかじゃなくて押された瞬間処理をする関数ってないですか? HSPのstick見たいな奴・・・
117 名前:デフォルトの名無しさん mailto:sage [04/05/08 16:43] >>116 <conio.h>があれば、その中のgetche
118 名前:デフォルトの名無しさん mailto:sage [04/05/08 23:28] >117 具体的な使い方がワカリマセン (´・ω・`)ヘルプで命令が見つからない・・・
119 名前:デフォルトの名無しさん mailto:sage [04/05/09 04:56] ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ´∀`)/ < 先生!やっぱ無限ループですね! __ / / / \________ \ ⊂ノ ̄ ̄ ̄ ̄ ̄\ ||\ \ ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| || || ̄ ̄ ̄ ̄ ̄ ̄ ̄|| .|| ||
120 名前:デフォルトの名無しさん mailto:sage [04/05/09 07:38] >>116 それは、windowsアプリにしたほうが楽。
121 名前:116 mailto:sage [04/05/09 15:03] キーボードが打たれたときだけ反応して 打たれてなかったらそのままプログラムを進める。 打たれたキーによって処理をさせる。(Iが押されたら〜とか) そのやり方がワカリマセン getcheだと打たれるまでとまるので・・・ 教えてクレクレ厨でスマソ 吊ってきまつΛ||Λ
122 名前:デフォルトの名無しさん mailto:sage [04/05/10 17:08] # include <conio.h> int c; if(kbhit()) /* キーが押下されている */ c = getch(); else /* 何か別のことをする */;
123 名前:116 mailto:sage [04/05/10 19:33] if(kbhit())のkbhitは何なんでしょうか・・・? あとiが押されたらiが押されたと分かるようにするにはどうしたら・・・?(´・ω・`)
124 名前:デフォルトの名無しさん mailto:sage [04/05/10 20:26] >>123 kbhitはキーボードのキーが押されているかを判定する関数。 iが押されたらgetch()から'i'が返る。 if(kbhit() && getch() == 'i') /* 今iが押されている */
125 名前:116 mailto:sage [04/05/10 21:33] >124 おお とてもわかりやすいです。 アリがd。ニューソクで47氏逮捕祭りか・・・
126 名前:116 mailto:sage [04/05/11 23:21] また迷惑かけに来ました。 if(kbhit()&&getch()=='a'){printf("a");}else if(kbhit()&&getch()=='b'){printf("b");} 上のようにするとキーボードの処理が遅くなります。どうしたら?
127 名前:デフォルトの名無しさん mailto:sage [04/05/12 00:50] kbhitとgetchを複数回使わなければ良いのでは?
128 名前:116 [04/05/12 19:49] >127 それ以外のやり方しらないんで・・・
129 名前:デフォルトの名無しさん mailto:sage [04/05/12 20:34] // なにをしたいのか知らないが、これで参考になるだろ。 #include <stdio.h> #include <stdlib.h> #include <conio.h> #define END_CODE '\n' const char *EndCodeName = "Enter"; int dispatch(int event){ switch(event){ case END_CODE: printf("プログラムを終了します。"); exit(0); default: printf("[0x%02x] が押された。\n", event); } return 0; } main(){ int prev,cur; printf(" ********************\nキーコード表示。\n[%s]で終了します。\n********************\n", EndCodeName); for(;;){ if(!kbhit()) continue; if(prev != (cur = getch())){ dispatch(cur); prev = cur; } } }
130 名前:116 mailto:sage [04/05/12 20:53] >129 ありがとうございます。 とても参考になりました。
131 名前:デフォルトの名無しさん mailto:sage [04/05/12 21:14] C言語で、JPEG画像ファイルを表示させようとした場合、どんなコントロールがありますか? VBだったら、ピクチャーボックスなるものがあるけど、Cで扱えるコントロールにはどんなのがありますか。 当然ウィンドウ上で表示させるということです。
132 名前:デフォルトの名無しさん [04/05/12 21:41] すいません、初歩的な質問なのですが char型の変数って何バイトまで値を格納できますか? ファイルから読んだ値を格納したいのですが、どの程度の大きさまで可能なのか分かりません
133 名前:デフォルトの名無しさん mailto:sage [04/05/12 21:50] char自身は1バイト。 配列ならば・・・・・・自分で試してみろ。 char 2ch[10000000] // About 10M byte とか。エラーが出たら駄目ー。出なかったらOK−
134 名前:デフォルトの名無しさん mailto:sage [04/05/12 22:46] エラトステネスの篩を作ろうと思ったんですが、 配列の個数を1000000000000(1兆)個にしようとすると うまくコンパイルできません。 配列の数をメモリの許す限り使いたい場合はどうしたらよいのですか? とりあえず、配列の数が1兆個あれば問題ないんです。
135 名前:デフォルトの名無しさん [04/05/12 22:53] >>134 1TByte以上のメモリを積んでください。 1.0005TByteくらいのメモリであれば問題無いと思います。
136 名前:134 mailto:sage [04/05/12 23:07] >>135 そんなの無理です。 計算してみたら私の言っていることが いかに無理難題だったかがわかりました。 配列の数をなるべく多くするにはどうしたらいいのですか? メモリの許す限り配列を並べる方法はありますか?
137 名前:デフォルトの名無しさん [04/05/13 00:40] mallocとかでは駄目なのかい?
138 名前:デフォルトの名無しさん mailto:sage [04/05/13 02:00] size_tが32bitだと無理
139 名前:デフォルトの名無しさん mailto:sage [04/05/13 13:23] >>136 Windows2000(XP)だったら2GBが限界だよ。64bitのOSに乗り換えて1TB以上の ディスクアレイを組んでやるしかない。
140 名前:デフォルトの名無しさん mailto:sage [04/05/13 13:41] 「配列の個数」ではなく「配列のサイズ」だろ 配列のサイズの上限は言語処理系のマニュアルに書いてあるはず #メモリ上に乗らないデータを扱うというのは大昔からあるテーマだな
141 名前:136 mailto:sage [04/05/13 18:40] [10000][10000]で一億をやってみたいと思います。 [10000]だったら 9592個の素数を入れれましたので
142 名前:デフォルトの名無しさん mailto:sage [04/05/13 19:33] 配列じゃなくてリストを使ってみたらどうだろう? 動的にメモリを確保していくので可能な限り最大の値まで求められるし、 非素数と判明したノードはすぐに開放 or 再利用できるから、無駄も少ないだろ。 「エラトステネスのふるい」では無いかもしれないが。
143 名前:デフォルトの名無しさん [04/05/13 20:20] あぁ、そんなことしなくてもいいじゃん。 動的に確保して、配列満杯になったら、全てファイルに書き出し。 んでまたそれ以上の数字について調べる。 これだったら、[10000]くらいでいいじゃん。 ただし処理が多少遅くなる可能性もあるけど。 これだったら、パソコンが扱える最大の数字まで、計算できるじゃん。
144 名前:デフォルトの名無しさん mailto:sage [04/05/15 00:39] ファイルをセーブして、そのファイルに変数を保存しておく方法(int型など)は無いですか? 講座などを見てもchar型くらいしかのってないので。 char型から整数を取り出すしかないですかね?
145 名前:デフォルトの名無しさん mailto:sage [04/05/15 00:48] fread&fwrite
146 名前:デフォルトの名無しさん mailto:sage [04/05/15 01:25] fscanf&fprintfでもいい。
147 名前:144 mailto:sage [04/05/15 02:00] う〜ん fprintfとfscanfを使っても保存できるんですが 保存した変数の取り出し方がワカリマセン。ちゃんと保存できているのかも怪しいです。
148 名前:デフォルトの名無しさん mailto:sage [04/05/15 02:14] データ形式は自分で責任持ってください。
149 名前:デフォルトの名無しさん mailto:sage [04/05/16 16:22] ポインタへのポインタはどうやるんですか?
150 名前:デフォルトの名無しさん mailto:sage [04/05/17 02:27] >>149 ポインタへのポインタをつくります。
151 名前:デフォルトの名無しさん mailto:sage [04/05/19 16:18] do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=63 にはってある二つのソースは sosuu[]=2;の配列の中の数字が違うのですが、 sosuu[0]を最初の配列として使用すると 最後に素数を表示するときになって 2番目の素数は1311096です。 と表示されてしまいます。 なぜなんでしょうか?
152 名前:151 [04/05/19 18:29] すいません、どなたもいらっしゃらないようなので あげますね