- 1 名前:デフォルトの名無しさん [2011/12/23(金) 22:51:14.19 ]
- C言語の*入門者*向け解説スレッドです。
★前スレ C言語なら俺に聞け(入門編)Part 93 toro.2ch.net/test/read.cgi/tech/1322866566/ ★過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000 ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 154代目 hibari.2ch.net/test/read.cgi/tech/1322562648/ ★C++言語については避けてください。C++対応明記スレへどうぞ ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること # サイズが大きい場合は宿題スレのアップローダ等を利用してください ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 長くなりそうなコードはcodepadに貼り付けてもいいでしょう codepad.org/
- 656 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 16:11:27.36 ]
- fopen に渡したファイル名のポインタを暗に保持してて、書き換え不可な処理系とかのオチだったりして
char name[] = "hogehoge"; FILE* fp = fopen(name, "w"); strcpy(name, "a"); fputs("tekitou", fp); これだけで沈
- 657 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 16:17:46.01 ]
- まったく、どっからそんな妄想がわいてくるんだよ…
- 658 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 16:35:50.94 ]
- つか最初から処理系を書けよ。
- 659 名前:614 mailto:sage [2012/01/06(金) 16:44:44.43 ]
- VC2008 express editionとwin 7のコンビです
- 660 名前:614 mailto:sage [2012/01/06(金) 16:46:02.01 ]
- >>656
あ、これかもしれないです。 ちょっと待ってて下さい。
- 661 名前:614 mailto:sage [2012/01/06(金) 16:49:32.60 ]
- あーでも再現コードでやってみても再現しないですね。
元コードでは相変わらずエラー。 何が違うんですかこれ
- 662 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 16:55:53.28 ]
- すでに他のところでヒープかスタックがぶっこわれてるに10ジンバブエドル
- 663 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 17:03:26.64 ]
- >>614フィルターを通すと出てくる情報がすべてゴミになるなw
身バレ云々バカじゃね
- 664 名前:614 mailto:sage [2012/01/06(金) 17:04:02.24 ]
- でも原因は明らかに>>656ですよね
ファイル名として使ったバッファは使いまわさないようにします。 ありがとうございました。
- 665 名前:614 mailto:sage [2012/01/06(金) 17:04:52.46 ]
- バカというかマヌケですね
ありがとうございました
- 666 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 17:08:46.22 ]
- >>656 で落ちる処理系なんてどんな行儀の悪いコンパイラだよ
そのゴミみたいなコンパイラの名前を知りたいもんだ
- 667 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 17:23:28.39 ]
- いや、馬鹿だよお前
プログラムやめるべき
- 668 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 17:31:23.37 ]
- >>665
落ちるコードの全体ってどこにあります? 未解決なら見てみたいんだが。
- 669 名前:614 mailto:sage [2012/01/06(金) 17:34:37.76 ]
- >>666
>>659に書いてますが >>667 自分用のプログラムだから手抜いて作ったんだよ 配布するやつはちゃんと作ってるから安心しろ >>668 全体のコードは>>614の50倍ぐらいの長さもあるから無理 身バレの可能性あるし
- 670 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 17:52:40.25 ]
- >>656が原因とも確認してねーんだろ?
だいたい、年を書くのに%c%c%c%cとか使うとこから程度は知れてるがな。
- 671 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:01:28.93 ]
- >>670
いや、だから再現するために>>656のコードと同じことしてみたけど再現しなかったんだって >>661で言ってるよ 元コードだと起こって、再現するために書いたコードでは起こらなかった コード量による違いでもあるのか?
- 672 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:02:46.49 ]
- >>670
別に普通だろ。 それに自分用のプログラムだから動けばいい程度でしか作ってないし
- 673 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:05:55.10 ]
- >>672
これが処理できるか確認してもらえますか? int main(void){ char buf[] = "aaa"; buf[1] = 'b'; puts(buf); }
- 674 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:07:33.29 ]
- >>673
できた aba
- 675 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:07:43.12 ]
- >>672
じゃぁ>>664は何なんだよ。 頭腐ってるだろ、お前。 >>673 それに何の意味があるんだ。
- 676 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:08:04.43 ]
- >>674
ごめん。
- 677 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:11:00.13 ]
- >>675
>>664はそれ以外原因が思いつかないからそう書いたんだよ 一番筋が通ってるし、なんか聞いたことある気がしたしな
- 678 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:18:07.50 ]
- なんだその理由は。
これがゆとりが進化した形なのか。
- 679 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:19:09.05 ]
- 少なくともお前よりはゆとりでない自信はある
- 680 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:24:00.19 ]
- じゃぁなんで>>662の指摘は無視なんだ?
デバッガ使ったことあるか?
- 681 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:26:13.91 ]
- デバッグなんてとっくの昔にやってるわ
それでもわからんからここに来たんだろーが
- 682 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:29:34.15 ]
- ゆとり乙。
- 683 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:30:51.12 ]
- >>682
はいはい クソガキは寝てろ
- 684 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:42:33.72 ]
- デバッガの使い方も知らないでよく言うな、まったく。
- 685 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:48:51.15 ]
- 今回のはデバッガを使っても分からない問題だろ
だからここに来た それだけ
- 686 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:53:10.35 ]
- なんのためのデバッガだよ。
printfだけでもわかるだろ。
- 687 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:54:55.88 ]
- わかんねーよ
printfするまでもなく、ブレークポイントしかけて変数の中身見てるわ それでもわかんなかったんだよ
- 688 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:55:47.73 ]
- それはお前が低脳なだけ。
再現コードも出さずに迷惑なだけ。
- 689 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:55:53.74 ]
- 先に俺の実力とどんなデバッグをしたか書いとけばよかったな
個別に黙らせてると疲れるわ
- 690 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:56:50.13 ]
- 再現コードがかけないんだから仕方ないだろ
まだはっきりと原因特定できてないんだから めんどくせーからまた後でくるわ
- 691 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 18:58:11.07 ]
- いやいや、すごいよ、お前は。
落ちる場所までわかってるのに理由がわからないとか。 しかもデバッガ上で再現してんだろ? ほんと、すごいわ。
- 692 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:04:31.37 ]
- 元コードのデバッガ上で再現してるよ
変数見てもおかしくないんだから原因わかるわけねーだろ
- 693 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:07:03.13 ]
- >>692
問題のソースは>>636のやつか?
- 694 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:16:44.35 ]
- つか最初からmonthfilename使い回そうとかバカ確定なんだからさ
- 695 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:17:11.92 ]
- しかし、よくそんなレベルでこんなこと>>689言えるね、おれもびっくりするよ。
- 696 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:20:46.07 ]
- >>693
問題のソースは>>617です。 ですが>>652のように、monthfilenameを使わずに、 別のバッファを使えば問題なく処理できました。 それともう一回検証してみたところ、memcpyでもstrncpyでも>>617のソースでやればエラーがでました。 「memcpyならいけた」という私の発言は間違いです。失礼しました。 >>617のソースは全体のソースの一部です。 再現しようと>>617のソースを切り取って、 適当な文字列を作ってptempに代入してやってみたら、何故かエラーが出ませんでした。 ですので原因がはっきりと特定できていない状況です。 でも状況からして>>656の方が指摘していただいてることが 一番可能性が高いと個人的には思っています。 そろそろウザイと思われてると思いますので、 スルーしてくださって結構です。
- 697 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:22:13.73 ]
- >>694
お前は人のレス読んでるのか? 自分用のプログラムだから手抜いて作ってるって言っただろが めんどくせーから使いまわすか、って気持ちで作ってたんだよ だからそんなとこ突っ込んでも意味ねーよ
- 698 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:22:43.71 ]
- はいはい、低脳乙。
- 699 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:23:45.56 ]
- マジメにレスしてくれた方はありがとうございました。
その他のクズの皆さんは死んでください 以上。
- 700 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:25:13.29 ]
- 迷惑かけるだけかけて、ほんとゆとりな上にクズが何言ってるんだか。
- 701 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:30:40.02 ]
- >>696
妙なところを書き換えてない限り >>656 で落ちるのはありえないんだよマヌケ
- 702 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:32:32.06 ]
- >>701
再現コードでは落ちなかったんだよ 元コードだと落ちるんだよ 俺も原因わからねーよ
- 703 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:35:02.17 ]
- で、まだ>>689なの?
- 704 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:44:33.81 ]
- >>699
win7でvc++2008で試してみたが。。。 表記されていないptempを「テスト(XXXX年XX月分)」にして、 strncpyの第三引数をstrlen(monthfilename)にすると普通に動いた。
- 705 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:50:20.27 ]
- こんな聞きかたしてるバカは死ねってことか。了解。
- 706 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 20:17:17.89 ]
- 早く>>689頼むよ。
どんだけすごいのか教えてちょ。
- 707 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 20:52:48.43 ]
- >>689
当たり前だろ。 質問するときは、どういうことを調べたかとか試したかとか書けよ。 プログラムの技術以前の問題だ。
- 708 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 21:05:14.27 ]
- どこがおかしいか特定できないのに、ここがおかしいはずだって思い込むアホが多すぎて困る
- 709 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 21:11:25.65 ]
- 思い切りから不具合を見つけることもあるんだが。
こいつCの仕様を丸暗記してるのか?
- 710 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 21:15:55.85 ]
- 思い切り?
こいつってどいつのことだ。 普通、わからなかったら仕様書確認するだろ。
|

|