952 :
947 :2007/06/25(月) 11:04:21
>>949 ありがとうございます。
一つ目書いてスレ違いだったんです。
それは明らかに自分の勘違いだったので、
改めてC言語のスレに書き込んだのですが、やはりスレ違いと言われて。
回答もらえそうな適当なスレ探せないなら、迷惑なだけなので、もうそこで諦めないといけませんでした。
本当にすみませんでした。
>>951 かしこいやつは、落ちてるカリントウですら利用する。
負け組みは毎日デスマやってろw
かしこいやつは床にこぼれているご主人様の白濁液さえありがたく舐め取るというわけだ
956 :
デフォルトの名無しさん :2007/06/26(火) 17:54:33
巡回セールスマン問題をあちこちのスレに聞いて回る 巡回マルチポスト問題児
dllファイルを機能同じで、サイズを大きくするにはどうすれば良いでしょうか。
俺は不要なバイナリデータを埋め込む事で数百MBytesのDLLを作った
尻にゴミつければいいだけじゃん
copy small.dll+huge.bin -b > huge.dll
char *str; fgets(str,100,stdin); これを実行して abcde と入力してエンターを押したら strには abcde\n\0 これが入ってるの?
領域確保してないポインタに文字列突っ込もうとする奴はいつになってもいなくならんな。
これがすぐ近くだからいいけど、離れたら原因不明のバグにw
セキュリティホール満載
VCのデバッグビルドなら0xccccccccでAccess Violationだな。
フフフフ
あるある
アセンブリ(?)みたいに直接メモリいじれたほうが楽そうだな
strtokの関数のman読んだら >これらの関数は絶対に使用しないこと。 と書かれてるんだけど、その理由がイマイチわからない。 誰かこの詳しい理由を教えていただけ無いでしょうか?
その下に何か書いてないのか?
>これらの関数は絶対に使用しないこと。使用する場合は、以下の点に注意すること。 > これらの関数はその最初の引数を変更する。 > これらの関数は const な文字列では使えない。 > 区切り文字自体は失われてしまう。 > strtok() 関数は文字列の解析に静的バッファを用いるので、スレッドセーフでない。これが問題になる場合は strtok_r() を用いること。 いや、これは、バグと言うか、strtokの仕様であって、 気をつけるも何も、これを理解して使うはずだろうし。 他に理由があるのかなって。
ウンコ仕様だから、あんまり使ってくれるなってことだろ
>>971 別に絶対使ったら駄目な関数なんてない
strtokの場合、使い方にクセがある、それとスレッド間の問題
同スレッドだって2つ以上同時にトークン分割できないし
この程度の関数なら、自分で作ればいくらでも安全にできるね。
過去の互換性のために残してあるだけの関数といえるのかもしれない
getsみたいな。
Cの標準関数は今となっては危なっかしいのが多いな。 BCPL系言語はもう死滅したほうがいいのかもしれない
C++ 使えば改善してるよ。
>>980 ライブラリの不備と言語仕様をごっちゃにすんなよ・・・
その言語仕様の尻拭いをするだけのものを作ろうと思っても、 C++ のより使いやすいものは作れんな。
#include <stdio.h> main() { int a; int b=0; for(a=0; a<=100; a++) printf("セ氏温度:%d カ氏温度:%d\n",a ,fahrenheit(a,b)); } int fahrenheit(int x, int y) { y = (9/5)*x+32; return y; } セ氏温度からカ氏温度を求めるプログラムなんですが カ氏温度をfloat型にして小数点以下も出力したいのですが エラーばかり起きて困ってます 誰かfloat型にください
>>984 関数と言うものを勉強しなおして、プロトタイプ宣言も勉強することをお勧めしておきます。
>>986 勉強する気がないなら、お帰りください。
少なくともどういうコードを書いたらどういうエラーが出たのか、
それさえ説明できないようなら人間やめるといいと思います。
float a=0;main(){int a;for(a=0; a<=100; a++) printf("セ氏温度:%d カ氏温度:%f\n",a ,fahrenheit()); }float fahrenheit(){return 9*a/5+++32;} 実行結果はfloatになった
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland エラー E2194: ファイル 'a.c' が見つからない ってでるんです。場所のおき方が悪かったのかなと思って。 マイドキュメントにおいたんですけど。
ファイルを置いた場所にあわせてカレントディレクトリを移動するんだ
マイドキュメントに設定されてるって聞いたんですけど間違いでしょうか?違うなら Q1、最初どこに設定されているんですか? Q2、cd のあとどう書けばマイドキュメントに移動できるんでしょうか?
C:\Documents and Settings\UserName> コマンドプロンプト起動時にこうなっていれば C:\Documents and Settings\UserName>cd "My Documents" cdコマンドでマイドキュメントに移動して C:\Documents and Settings\UserName\My Documents> コンパイルしよう C:\Documents and Settings\UserName\My Documents>bcc32 a.c ディレクトリ名にスペースがあればダブルクォーテーションで囲む
ドキュメントに移ったんですが、ファイルが見つからないってなります。プロパティは ・名前 a.c ・ファイルの種類 cファイル ・プログラム notepad あとOSがXPなんですがこのままで大丈夫でしょうか? 馬鹿ですみません
わかりました。名前が違っていたらしいです。 a.c としていたんですが a とやったら上手くいきました ありがとうございました。
a.c → コンパイル → a.obj → リンク → a.exe a.exeを実行するのは、aとだけ打てばいい。 a.exe と打ってもいいけど。
>>989 全部読んだらなんかムカついてきた。
埋めついでに言ってやる。
「お前は、a.cというC言語ソースファイルをコンパイルしたa.exeを実行したかったんだ!」
だから
「a.cが実行できません」とでも書けば、もっとすんなりアドバイスできたんだよ!
「できません」じゃわからんつーの!!!まず主語を書け!!!
,ヘー―-、_ / ,、--―-、 、ノ l / ヽl\Nヽl |6 l ◎. .◎l | l, d、 A ノ/ />→ー-‐爪 / / [= ∞ =] |、 / / [= ハ =] l、 / /|__[= l l =] 、_\ /ミ (| l\_) ̄ ̄〈 \_) ヾミミ/l、/ :l __) /lミl l (,―´ └┬┬‐┬┬┘ . ( ( ト┤ ト┤
,ヘ- ―-/l / , --―- 、ヽ. l6/ノレ'l/ヘ ll 6l l l ◎. .◎ Vlb l デェェェェーー ll A ノノ、 r`=ー‐--=´'ー、; 、 / [=' ∞ =] l \ / [= ハ =] i ヽ \ /__, [=_ i i _=] l\ /\\ ( _ノ L  ̄ l \__) \ .  ̄ /l lー、 ) ∧ / l イ\ / /) 〈 〉イ レ' / / ヽ_ _ ____ノ l/ \/ イ l__l l__l ` \(
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。