くだすれC言語(初心者用) Part.2

このエントリーをはてなブックマークに追加
952947:2007/06/25(月) 11:04:21
>>949
ありがとうございます。
一つ目書いてスレ違いだったんです。
それは明らかに自分の勘違いだったので、
改めてC言語のスレに書き込んだのですが、やはりスレ違いと言われて。
回答もらえそうな適当なスレ探せないなら、迷惑なだけなので、もうそこで諦めないといけませんでした。
本当にすみませんでした。
953デフォルトの名無しさん:2007/06/25(月) 11:37:59
>>951
かしこいやつは、落ちてるカリントウですら利用する。
負け組みは毎日デスマやってろw
954デフォルトの名無しさん:2007/06/25(月) 13:35:15
かしこいやつは床にこぼれているご主人様の白濁液さえありがたく舐め取るというわけだ
955デフォルトの名無しさん:2007/06/25(月) 17:25:24
>>953
よく見ろー!それ犬のうんこー!
956デフォルトの名無しさん:2007/06/26(火) 17:54:33
巡回セールスマン問題をあちこちのスレに聞いて回る
巡回マルチポスト問題児
957デフォルトの名無しさん:2007/06/29(金) 21:49:43
dllファイルを機能同じで、サイズを大きくするにはどうすれば良いでしょうか。
958デフォルトの名無しさん:2007/06/29(金) 21:54:38
俺は不要なバイナリデータを埋め込む事で数百MBytesのDLLを作った
959デフォルトの名無しさん:2007/06/29(金) 21:58:37
尻にゴミつければいいだけじゃん
960デフォルトの名無しさん:2007/06/30(土) 02:18:54
copy small.dll+huge.bin -b > huge.dll
961デフォルトの名無しさん:2007/07/03(火) 06:27:04
char *str;
fgets(str,100,stdin);

これを実行して
abcde
と入力してエンターを押したら
strには
abcde\n\0
これが入ってるの?
962デフォルトの名無しさん :2007/07/03(火) 09:07:50
>>961
入らないよ
963デフォルトの名無しさん:2007/07/03(火) 09:23:19
領域確保してないポインタに文字列突っ込もうとする奴はいつになってもいなくならんな。
964デフォルトの名無しさん:2007/07/03(火) 09:40:05
これがすぐ近くだからいいけど、離れたら原因不明のバグにw
965デフォルトの名無しさん:2007/07/03(火) 15:32:54
>>964
運良く動いてしまう恐さ
966デフォルトの名無しさん:2007/07/03(火) 15:41:21
セキュリティホール満載
967デフォルトの名無しさん:2007/07/03(火) 18:55:18
VCのデバッグビルドなら0xccccccccでAccess Violationだな。
968デフォルトの名無しさん:2007/07/03(火) 18:58:29
フフフフ
969デフォルトの名無しさん:2007/07/04(水) 09:28:27
あるある
970デフォルトの名無しさん:2007/07/04(水) 10:26:11
アセンブリ(?)みたいに直接メモリいじれたほうが楽そうだな
971デフォルトの名無しさん:2007/07/04(水) 20:30:26
strtokの関数のman読んだら
>これらの関数は絶対に使用しないこと。
と書かれてるんだけど、その理由がイマイチわからない。
誰かこの詳しい理由を教えていただけ無いでしょうか?
972デフォルトの名無しさん:2007/07/04(水) 20:52:36
その下に何か書いてないのか?
973デフォルトの名無しさん:2007/07/04(水) 21:05:30
>これらの関数は絶対に使用しないこと。使用する場合は、以下の点に注意すること。
>  これらの関数はその最初の引数を変更する。
>  これらの関数は const な文字列では使えない。
>  区切り文字自体は失われてしまう。
>  strtok() 関数は文字列の解析に静的バッファを用いるので、スレッドセーフでない。これが問題になる場合は strtok_r() を用いること。

いや、これは、バグと言うか、strtokの仕様であって、
気をつけるも何も、これを理解して使うはずだろうし。

他に理由があるのかなって。
974デフォルトの名無しさん:2007/07/04(水) 21:12:09
ウンコ仕様だから、あんまり使ってくれるなってことだろ
975デフォルトの名無しさん :2007/07/04(水) 21:21:02
>>971
別に絶対使ったら駄目な関数なんてない
strtokの場合、使い方にクセがある、それとスレッド間の問題
976デフォルトの名無しさん:2007/07/04(水) 21:26:13
同スレッドだって2つ以上同時にトークン分割できないし
977デフォルトの名無しさん:2007/07/04(水) 21:38:21
この程度の関数なら、自分で作ればいくらでも安全にできるね。
978デフォルトの名無しさん:2007/07/04(水) 22:07:58
過去の互換性のために残してあるだけの関数といえるのかもしれない
979デフォルトの名無しさん:2007/07/04(水) 23:29:14
getsみたいな。
980デフォルトの名無しさん:2007/07/05(木) 01:07:33
Cの標準関数は今となっては危なっかしいのが多いな。
BCPL系言語はもう死滅したほうがいいのかもしれない
981デフォルトの名無しさん:2007/07/05(木) 04:56:04
C++ 使えば改善してるよ。
982デフォルトの名無しさん:2007/07/05(木) 20:48:18
>>980
ライブラリの不備と言語仕様をごっちゃにすんなよ・・・
983デフォルトの名無しさん:2007/07/05(木) 20:56:45
その言語仕様の尻拭いをするだけのものを作ろうと思っても、
C++ のより使いやすいものは作れんな。
984デフォルトの名無しさん:2007/07/06(金) 06:56:43
#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型にください
985デフォルトの名無しさん:2007/07/06(金) 07:38:08
>>984
関数と言うものを勉強しなおして、プロトタイプ宣言も勉強することをお勧めしておきます。
986デフォルトの名無しさん:2007/07/06(金) 08:19:17
>>985
それでできてたらここには来てません
987デフォルトの名無しさん:2007/07/06(金) 08:29:58
>>986
勉強する気がないなら、お帰りください。
少なくともどういうコードを書いたらどういうエラーが出たのか、
それさえ説明できないようなら人間やめるといいと思います。
988デフォルトの名無しさん:2007/07/06(金) 08:35:05
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になった
989デフォルトの名無しさん:2007/07/11(水) 02:27:13
家でボーランド導入したんですが作ったプログラムってどこにおくんでしょうか?
bcc32 「このプログラム」
マイドキュメントにおいているんですができません。
http://www.wakayama-u.ac.jp/~miw/ip3/HomeBCC+SDL/homebcc.html
一応このサイトどおりにはやりました。
990デフォルトの名無しさん:2007/07/11(水) 02:30:54
>>989
何ができないの?
991デフォルトの名無しさん:2007/07/11(水) 02:37:44
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
エラー E2194: ファイル 'a.c' が見つからない
ってでるんです。場所のおき方が悪かったのかなと思って。
マイドキュメントにおいたんですけど。
992デフォルトの名無しさん:2007/07/11(水) 02:39:15
ファイルを置いた場所にあわせてカレントディレクトリを移動するんだ
993デフォルトの名無しさん:2007/07/11(水) 02:43:22
マイドキュメントに設定されてるって聞いたんですけど間違いでしょうか?違うなら
Q1、最初どこに設定されているんですか?
Q2、cd のあとどう書けばマイドキュメントに移動できるんでしょうか?
994デフォルトの名無しさん:2007/07/11(水) 02:47:12
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

ディレクトリ名にスペースがあればダブルクォーテーションで囲む
995デフォルトの名無しさん:2007/07/11(水) 02:57:33
ドキュメントに移ったんですが、ファイルが見つからないってなります。プロパティは
・名前 a.c
・ファイルの種類 cファイル
・プログラム notepad
あとOSがXPなんですがこのままで大丈夫でしょうか?
馬鹿ですみません
996デフォルトの名無しさん:2007/07/11(水) 03:05:36
わかりました。名前が違っていたらしいです。
a.c としていたんですが
a とやったら上手くいきました
ありがとうございました。
997デフォルトの名無しさん:2007/07/12(木) 10:46:34
a.c → コンパイル → a.obj → リンク → a.exe
a.exeを実行するのは、aとだけ打てばいい。 a.exe と打ってもいいけど。
998デフォルトの名無しさん:2007/07/13(金) 00:46:07
>>989
全部読んだらなんかムカついてきた。
埋めついでに言ってやる。
「お前は、a.cというC言語ソースファイルをコンパイルしたa.exeを実行したかったんだ!」
だから
「a.cが実行できません」とでも書けば、もっとすんなりアドバイスできたんだよ!
「できません」じゃわからんつーの!!!まず主語を書け!!!
999デフォルトの名無しさん:2007/07/13(金) 00:49:17
         ,ヘー―-、_
        / ,、--―-、 、ノ
        l  / ヽl\Nヽl
        |6 l   ◎. .◎l |
        l, d、  A ノ/
        />→ー-‐爪
       / / [= ∞ =] |、
     / /  [= ハ =] l、
    /  /|__[= l l =] 、_\
   /ミ (| l\_) ̄ ̄〈 \_)
   ヾミミ/l、/      :l
    __) /lミl        l
  (,―´ └┬┬‐┬┬┘
  .   ( (  ト┤  ト┤
1000デフォルトの名無しさん:2007/07/13(金) 00:49:48
      ,ヘ- ―-/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   `    \(
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。