【POSIX】UNIXプログラミング【BSD】 [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2015/09/24(木) 23:08:25.35
無かったので
2015/09/24(木) 23:40:57.34
だれかカキコってよ。。。
2015/09/24(木) 23:50:02.10
ム板でやれ
2015/09/25(金) 06:53:00.38
char s[4096];
puts(getwd(s));


これだけのプログラムなのにセグフォります。わかる方、お願いします。
2015/09/25(金) 16:23:49.49
荒らし
2015/09/25(金) 20:01:55.11
答えられないと嵐ということにするんですね、わかります
2015/09/25(金) 21:54:48.77
じゃ、馬鹿
2015/09/25(金) 22:08:33.18
能無しw
94
垢版 |
2015/09/26(土) 09:11:51.05
追加情報。

char s[4096];
getwd(s); puts(s);

↑だとなぜかセグフォりません。>>4 だとセグフォります。
2015/09/26(土) 09:19:41.12
せぐふぉりゃー
2015/09/26(土) 09:41:40.99
すみませんが詳しい方のみ回答をお願いします
2015/09/26(土) 10:37:26.21
せぐ堀?
2015/09/26(土) 11:31:51.19
ユーフォ
2015/09/26(土) 11:46:54.45
>>9
getwdの戻り値を確認しろよ
2015/09/26(土) 11:48:12.70
ふぉ〜?
2015/09/26(土) 11:52:56.49
>>4
てかgetcwdをつかえ
2015/09/26(土) 12:25:18.81
>>16
getcwdに変えてみました。

char s[4096];
puts(getcwd(s, sizeof s));


でも全く同じようにセグフォります><
2015/09/26(土) 12:28:23.71
(V)o\o(V)セグフォフォフォ
2015/09/26(土) 13:13:41.33
>>17
第一引数のサイズがたりなければNULLを返す
戻り値は一旦NULLでないことを確認しなければ危険だ
2015/09/26(土) 13:32:49.82
>>19
>>9 だと動作するんだから、NULLが返ってないことは明らか。
2015/09/26(土) 13:33:52.40
前スレからの釣りだよ
22名無しさん@お腹いっぱい。
垢版 |
2015/09/26(土) 13:42:48.97
>>19
NULLチェック入れてみました。

char s[4096], ss;
ss = getcwd(s, sizeof s);
if (ss != NULL) { puts(ss);}

やっぱりセグフォります><
2015/09/26(土) 13:46:29.33
コピペミス? ssがchar?
2015/09/26(土) 13:49:39.44
>>23
char *ss でした。やっぱりセグフォります。
2015/09/26(土) 13:53:02.01
どこのディレクトリで実行してるの?
2015/09/26(土) 13:58:40.82
ディレクトリはちゃんと存在するし/bin/pwdコマンドで表示されます。
というか >>9 なら正常動作するんですよ。
2015/09/26(土) 14:07:42.56
原因わかったよ。教えてやったらパンツ脱いで家の周り一周してくれる?
2015/09/26(土) 14:12:32.40
>>26
だったら >>9 を使えばいいじゃない
2015/09/26(土) 14:28:21.67
返事ねえな。確かにおれの環境でもこれが Segmentation fault で、
main() { char s[4096]; puts(getcwd(s, 4096)); }
このコードはそのままであることをすれば正常に動くんだが
はやくパンツ脱いで家の周り一周して写真とってUPだ!
2015/09/26(土) 14:33:50.80
ぱんつ!ぱんつ!ぱんつ!
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況