C言語なら俺に聞け! Part 94

このエントリーをはてなブックマークに追加
888デフォルトの名無しさん:04/11/19 09:07:03
どこだって教えたがりは大抵居丈高だよ・・・・自尊心のかたまりだから
889デフォルトの名無しさん:04/11/19 09:30:19
>>886
どこかで苛められたのかい?可哀相に。ヨシヨシ
890デフォルトの名無しさん:04/11/19 09:38:05
リアルで無能だと教えるのもうっとうしくなるからなあ
891デフォルトの名無しさん:04/11/19 09:38:57
俺の経験上、居丈高に教えてるのは初心者に2,3本毛が生えたやつらだよ。
多少分かるようになった初心者は、お前こんなのも分からないのかよと馬鹿にしつつ自分の知識をひけらかしたくなる。
もう少しすると興味が無くなるのでROMるかスレ自体からいったん離れる。
さらにもう少しすると煽りに徹するようになる。答えは書かない。ピンポイントでヒントだけ教えてやる。
安易に答えを教えてしまうと質問者のためにならないから。
さらにもう少しすると再びROMる。
すっかり古参と化した彼らはスレと住人たちのの成長を生温かく見守るようになる。
892デフォルトの名無しさん:04/11/19 09:44:50
神の如く、か。
893デフォルトの名無しさん:04/11/19 09:49:31
>>891
なにげにワロタ
894デフォルトの名無しさん:04/11/19 10:11:46
>>887
>sizeof array / sizeof array[0]
俺はいつも numberof って名前でマクロ書いてる。
つか、どうせなら標準マクロにしてくれればよかったのに。
// offsetof は標準化されてるのになあ…
895デフォルトの名無しさん:04/11/19 10:30:36
>>さらにもう少しすると煽りに徹するようになる。答えは書かない。ピンポイントでヒントだけ教えてやる。
俺ここ
896デフォルトの名無しさん:04/11/19 11:55:58
886は馬鹿。
895は大馬鹿。
897デフォルトの名無しさん:04/11/19 12:52:58
>>894
激しく同意
898デフォルトの名無しさん:04/11/19 13:01:01
>>896
激しく同位
899デフォルトの名無しさん:04/11/19 13:31:42
激しく同電位
900タヌキ:04/11/19 14:45:43
C言語には関係ないのですが教えてください
いくら叩かれたって煽られてもいいです知りたいのです!

CGIについてなのですが
http://homepage1.nifty.com/kodayan/cgi/con2/pass1source.htm
このページを参照してくれませんでしょうか
このCGIの設置方法を教えてください
AAA!CAFEというところでCGIを使いたいのですが
901デフォルトの名無しさん:04/11/19 14:48:07
>>900
そんなに寂しいのか?
902デフォルトの名無しさん:04/11/19 14:52:05
激しく同位体
903デフォルトの名無しさん:04/11/19 14:56:23
そういえばAAA!CAFEの管理人okkakii元気かな?
904デフォルトの名無しさん:04/11/19 15:36:19
激しくどうでもいい
905デフォルトの名無しさん:04/11/19 17:55:14
fread で、EOF の場合でも読み込めたバイト数知りたいのですが、
なにか手はあるのでしょか。
それとも fread が無理だとして、簡易な別の手段とか。
906デフォルトの名無しさん:04/11/19 17:56:08
?
907デフォルトの名無しさん:04/11/19 18:17:27
>>905
freadは読み込めた個数を返すよ。EOFは返さない。
908デフォルトの名無しさん:04/11/19 23:08:09
>707の気持ちは分かるけど、書き込んだのは間違い。
>708は存在する意味が分からない。
909デフォルトの名無しさん:04/11/19 23:08:50
>904
スルーできない理由は何?
910デフォルトの名無しさん:04/11/20 00:34:11
奇特な方がいたら教えてください。
C言語で作成したプログラムをVC++でコンパイルして実行ファイルだけ抜き出す。
実行ファイル(exeファイル)だけから作製したプログラムを逆算することはできるのでしょうか?
できないと思うのですが、それで正しいのでしょうか?
911デフォルトの名無しさん:04/11/20 00:35:31
奇特な方がいたら教えてください。
C言語で作成したプログラムをVC++でコンパイルして実行ファイルだけ抜き出す。
実行ファイル(exeファイル)だけから作製したプログラムを逆算することはできるのでしょうか?
できないと思うのですが、それで正しいのでしょうか?

912デフォルトの名無しさん:04/11/20 00:38:17
危篤ですので答えてあげる余裕がありません
913デフォルトの名無しさん:04/11/20 00:40:14
奇特な方がいたら教えてください。
C言語で作成したプログラムをVC++でコンパイルして実行ファイルだけ抜き出す。
実行ファイル(exeファイル)だけから作製したプログラムを逆算することはできるのでしょうか?
できないと思うのですが、それで正しいのでしょうか?

914デフォルトの名無しさん:04/11/20 00:43:51
>>911
できない。
Releaseビルドされたものは
dumpbin /disasm kusosure.exe
で逆アセンブルまではできるが逆コンパイルは
シンボルファイルがないと無理
915デフォルトの名無しさん:04/11/20 01:01:26
>>914
Oh!産休!
やはりできないのですね。
じゃ、例えばWindowsとかのプログラムがCD-ROMから読み取ることができるなんてもなしですね。
916デフォルトの名無しさん:04/11/20 01:52:53
いや、だからプログラムそのものは読み取れるけれども、それから
ソースファイルを再現することはほぼ不可能と言っているのだよ。
917デフォルトの名無しさん:04/11/20 02:04:22
.NETやJAVAみたく中間言語挟んでるやつは可能だけどな
918デフォルトの名無しさん:04/11/20 02:08:59
下のはテキストファイルの中身を行単位でランダムに並べ替えるプログラムなんですがエラーがでます。指摘・アドバイスお願いします.

void shuffle(){
char mozi[50][50],mozi2[50]; //ファイルの中身は50文字*50行と仮定
int kazu,kazu2,loop;
FILE *fp;

fp = fopen("test.txt" , "r"); //ファイルを開く
//ファイルから読み込む
for(loop=0;loop<50;loop++){
fgets( mozi[loop] , 50 , fp);
}
//ファイルを閉じる
fclose(fp);

fp = fopen("test.txt", "w"); //ファイルを開く
//ランダムに並べ替える
for(loop=0;loop<20;loop++){
kazu = GetRand(50); //GetRand(50)で0〜50の間で乱数を取得
kazu2 = GetRand(50);
strcpy(mozi2 , mozi[kazu]);
strcpy(mozi[kazu] , mozi[kazu2]);
strcpy(mozi[kazu2] , mozi2);
}
//ファイルへ書き込み
for(loop=0;loop<50;loop++){
fputs(mozi[loop] , fp);
}
//ファイルを閉じる
fclose(fp);

}
919デフォルトの名無しさん:04/11/20 02:11:42
>>918
どこでどんなエラーが出るか書け!クソめ!
920デフォルトの名無しさん:04/11/20 02:20:55
> char mozi[50][50],mozi2[50]; //ファイルの中身は50文字*50行と仮定

>kazu = GetRand(50); //GetRand(50)で0〜50の間で乱数を取得
>kazu2 = GetRand(50);

ここぢゃね?
921デフォルトの名無しさん:04/11/20 02:23:15
すいません。35行目でエラーがでます。
922デフォルトの名無しさん:04/11/20 02:27:27
35行目ってどこよ?
質問の仕方すら分かんねーのか?
923918:04/11/20 02:39:30
エラーメッセージは、
「test.exe の 0xcccccccc で初回の例外が発生しました : 0xC0000005: 場所 0xcccccccc を読み込み中にアクセス違反が発生しました」
「test.exe の 0xcccccccc でハンドルされていない例外が発生しました : 0xC0000005: 場所 0xcccccccc を読み込み中にアクセス違反が発生しました。」
の二つが出ていて具体的な場所は表示されてませんでした。
924デフォルトの名無しさん:04/11/20 02:43:32
GetRandが50を返してるんじゃね?
925デフォルトの名無しさん:04/11/20 02:44:10
空行入れても30行しかないわけだが

>>920のとこじゃね?
926918:04/11/20 02:47:35
GetRandはライブラリの関数なんでそっちの方も覗いてみます
。レスくださった方々ありがとうございます。
927デフォルトの名無しさん:04/11/20 02:57:56
>なんでそっちの方も覗いてみます

...いや、そっちぢゃねーだろ

>GetRandが50を返してるんじゃね?
って読めてる?
928デフォルトの名無しさん:04/11/20 06:57:15
age
929デフォルトの名無しさん:04/11/20 09:29:56
#include<stdio.h>
main()
{
int i;
for(i=0;i<10000;i++){
printf(゙ヌルポ\n゙);
}
}
930デフォルトの名無しさん:04/11/20 11:06:32
Cって文字列をreturnできないの?
931デフォルトの名無しさん:04/11/20 11:18:26
>>930
できるよ
const char *fusianasan(void)
{
return "mojiretu";
}

問題はやった奴が何が起きるのかを理解しているかであって
言語の不備じゃない
932java to c:04/11/20 11:31:17
>>931
ありがとう。
参照を返せるってことですね
933デフォルトの名無しさん:04/11/20 11:39:44
C++ならオブジェクトを使って
std::string fusianasan()
{
  std::string str;
  str = "mojiretu";
  return str;
}
934デフォルトの名無しさん:04/11/20 11:55:31
>>933
スレ違い

struct string
{
char mojiretu[256];
};

struct string fusianasan(void)
{
struct string kusosure = { "sine" };
return kusosure;
}
935デフォルトの名無しさん:04/11/20 12:11:42
スタティックリンクライブラリって単なるobj?
936デフォルトの名無しさん:04/11/20 12:18:10
>>935
別物。拡張子は *.lib とか。複数の *.obj をいい感じに連結してある。
と言っても、リンカに渡すときは殊更 *.obj と *.lib を区別する必要もない。
937デフォルトの名無しさん
なるほどです