2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

【POSIX】UNIXプログラミング【BSD】

1 :名無しさん@お腹いっぱい。:2015/09/24(木) 23:08:25.35 .net
無かったので

2 :名無しさん@お腹いっぱい。:2015/09/24(木) 23:40:57.34 .net
だれかカキコってよ。。。

3 :名無しさん@お腹いっぱい。:2015/09/24(木) 23:50:02.10 .net
ム板でやれ

4 :名無しさん@お腹いっぱい。:2015/09/25(金) 06:53:00.38 .net
char s[4096];
puts(getwd(s));


これだけのプログラムなのにセグフォります。わかる方、お願いします。

5 :名無しさん@お腹いっぱい。:2015/09/25(金) 16:23:49.49 .net
荒らし

6 :名無しさん@お腹いっぱい。:2015/09/25(金) 20:01:55.11 .net
答えられないと嵐ということにするんですね、わかります

7 :名無しさん@お腹いっぱい。:2015/09/25(金) 21:54:48.77 .net
じゃ、馬鹿

8 :名無しさん@お腹いっぱい。:2015/09/25(金) 22:08:33.18 .net
能無しw

9 :4:2015/09/26(土) 09:11:51.05 .net
追加情報。

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

↑だとなぜかセグフォりません。>>4 だとセグフォります。

10 :名無しさん@お腹いっぱい。:2015/09/26(土) 09:19:41.12 .net
せぐふぉりゃー

11 :名無しさん@お腹いっぱい。:2015/09/26(土) 09:41:40.99 .net
すみませんが詳しい方のみ回答をお願いします

12 :名無しさん@お腹いっぱい。:2015/09/26(土) 10:37:26.21 .net
せぐ堀?

13 :名無しさん@お腹いっぱい。:2015/09/26(土) 11:31:51.19 .net
ユーフォ

14 :名無しさん@お腹いっぱい。:2015/09/26(土) 11:46:54.45 .net
>>9
getwdの戻り値を確認しろよ

15 :名無しさん@お腹いっぱい。:2015/09/26(土) 11:48:12.70 .net
ふぉ〜?

16 :名無しさん@お腹いっぱい。:2015/09/26(土) 11:52:56.49 .net
>>4
てかgetcwdをつかえ

17 :名無しさん@お腹いっぱい。:2015/09/26(土) 12:25:18.81 .net
>>16
getcwdに変えてみました。

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


でも全く同じようにセグフォります><

18 :名無しさん@お腹いっぱい。:2015/09/26(土) 12:28:23.71 .net
(V)o\o(V)セグフォフォフォ

19 :名無しさん@お腹いっぱい。:2015/09/26(土) 13:13:41.33 .net
>>17
第一引数のサイズがたりなければNULLを返す
戻り値は一旦NULLでないことを確認しなければ危険だ

20 :名無しさん@お腹いっぱい。:2015/09/26(土) 13:32:49.82 .net
>>19
>>9 だと動作するんだから、NULLが返ってないことは明らか。

21 :名無しさん@お腹いっぱい。:2015/09/26(土) 13:33:52.40 .net
前スレからの釣りだよ

22 :名無しさん@お腹いっぱい。:2015/09/26(土) 13:42:48.97 .net
>>19
NULLチェック入れてみました。

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

やっぱりセグフォります><

23 :名無しさん@お腹いっぱい。:2015/09/26(土) 13:46:29.33 .net
コピペミス? ssがchar?

24 :名無しさん@お腹いっぱい。:2015/09/26(土) 13:49:39.44 .net
>>23
char *ss でした。やっぱりセグフォります。

25 :名無しさん@お腹いっぱい。:2015/09/26(土) 13:53:02.01 .net
どこのディレクトリで実行してるの?

26 :名無しさん@お腹いっぱい。:2015/09/26(土) 13:58:40.82 .net
ディレクトリはちゃんと存在するし/bin/pwdコマンドで表示されます。
というか >>9 なら正常動作するんですよ。

27 :名無しさん@お腹いっぱい。:2015/09/26(土) 14:07:42.56 .net
原因わかったよ。教えてやったらパンツ脱いで家の周り一周してくれる?

28 :名無しさん@お腹いっぱい。:2015/09/26(土) 14:12:32.40 .net
>>26
だったら >>9 を使えばいいじゃない

29 :名無しさん@お腹いっぱい。:2015/09/26(土) 14:28:21.67 .net
返事ねえな。確かにおれの環境でもこれが Segmentation fault で、
main() { char s[4096]; puts(getcwd(s, 4096)); }
このコードはそのままであることをすれば正常に動くんだが
はやくパンツ脱いで家の周り一周して写真とってUPだ!

30 :名無しさん@お腹いっぱい。:2015/09/26(土) 14:33:50.80 .net
ぱんつ!ぱんつ!ぱんつ!

31 :名無しさん@お腹いっぱい。:2015/09/26(土) 14:36:14.41 .net
プログラミングの際の注意事項があります。
コンピュータのCPUの電流が何ボルトであるか調ベておく事が大切です。

32ボルトCPUを搭載したコンピュータでは、
32ボルト用のプログラミングをすること。

64ボルトCPUを搭載したコンピュータでは、
64ボルト用のプログラミングをすること。

これを間違えればプログラムが動きません。

32 :名無しさん@お腹いっぱい。:2015/09/26(土) 14:49:00.46 .net
おかあさん、あの5Vはどこへいったのでしょう?

33 :名無しさん@お腹いっぱい。:2015/09/26(土) 14:51:36.92 .net
>>21
前スレ?

34 :名無しさん@お腹いっぱい。:2015/09/26(土) 15:34:11.77 .net
秋葉の駐車場から飛んでいった

35 :名無しさん@お腹いっぱい。:2015/09/26(土) 15:36:17.24 .net
屋根まで飛んで 壊れて消えた

36 :名無しさん@お腹いっぱい。:2015/09/26(土) 15:43:56.53 .net
そして後藤大地が割れ

37 :名無しさん@お腹いっぱい。:2015/09/26(土) 16:05:31.36 .net
2chでプログラミング関係はID無い板じゃ無理だわ
IDの出るこっちの板でやれよ

UNIXプログラミング質問すれ Part10
http://peace.2ch.net/test/read.cgi/tech/1303113996/

38 :名無しさん@お腹いっぱい。:2015/09/27(日) 15:57:25.02 .net
結局誰も答えわからず終了?

39 :名無しさん@お腹いっぱい。:2015/09/27(日) 16:24:07.87 .net
たぶんgetcwdのプロトタイプ宣言がないからだな
unistd.hをインクルールドしてないとオレの環境でも落ちる

40 :名無しさん@お腹いっぱい。:2015/10/13(火) 17:11:37.27 .net
ちゃんとワーニング出せよ

41 :名無しさん@お腹いっぱい。:2015/10/13(火) 22:05:14.48 .net
>>22
おまえの環境なんて知るか、ボケ

42 :名無しさん@お腹いっぱい。:2015/10/16(金) 06:40:28.28 .net
>>22
ss はポインタじゃないだろ

43 :名無しさん@お腹いっぱい。:2015/10/22(木) 22:51:45.89 .net
☆ 日本の核武装は早急に必須ですわ。☆
総務省の『憲法改正国民投票法』、でググってみてください。
日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、日本人の悲願である
改憲の成就が決まります。皆様方、必ず投票に自ら足を運んでください。お願い致します。

44 :名無しさん@お腹いっぱい。:2015/10/23(金) 09:30:19.09 .net
前スレで質問して、「UNIXでもネットトレーディングはできる」と
回答をもらった者です。そこで早速ネット証券の口座を作り、
ゆうちょ銀行100株を買ってみました。
で、買った株券はどこから出てくるのでしょうか?
念のため、CD-ROMドライブを開けてみましたが、
株券は入っていませんでした。
やはりUNIXはネットトレーディングに対応していないのでしょうか?

45 :名無しさん@お腹いっぱい。:2015/10/26(月) 21:42:25.98 .net
病んでるなー
面白くないもの

46 :名無しさん@お腹いっぱい。:2015/10/26(月) 22:13:38.12 .net
ネットでチケット買って、「どこから出てくるの?」ってマジで聞いてきた奴いたし多少はね?

47 :名無しさん@お腹いっぱい。:2015/10/27(火) 06:38:47.14 .net
IPOに外れたんだろ。当たった人はちゃんと株券出てきたよ

48 :名無しさん@お腹いっぱい。:2015/10/27(火) 09:48:06.21 .net
プログラム書くかお金払って作ってもらえよw

49 :名無しさん@お腹いっぱい。:2015/11/01(日) 11:24:24.73 .net
黒い画面は一般人からしたら
魔術師のマント
たった一つの間違った言葉で
全部壊してしまうようで
恐くてで震える
replは全てソクラテスの子孫だ
私は哲学者ではない
忍耐に耐えれず心が壊れる

50 :アルコール:2015/11/01(日) 11:36:54.76 .net
金は資源を割り当てるシステムとして正当化されるなら
君が金持ちに値する人間に似ている鏡の国の怪物になりたければ
計算至言か節約できないアルゴリズムになって正当化されるべきだ

51 :アルコール:2015/11/01(日) 11:39:55.46 .net
プログラマはポエマーをバカにする
君の人生は
大局的にはポエむでしか正当化できないのに

52 :アルコール:2015/11/01(日) 11:47:46.41 .net
空気は生存にとって不可欠だが、
大量にあるために限界費用はゼロになる。
これが幸せの定義である。
幸せとは生存に不可欠な空気のようなもののことだ。

53 :アルコール:2015/11/01(日) 11:52:14.49 .net
あなたが空気のようであればあなたは幸せである
あなたは窒息するまでそれに本能的に気付かない
理性的にはわかっている
恋人に裏切られたらわかる気持ちのようなものだ
人を恨んではいけないがあなたは人を必ず恨む

54 :名無しさん@お腹いっぱい。:2015/11/01(日) 14:38:33.16 .net
有名なの?

55 :名無しさん@お腹いっぱい。:2016/01/08(金) 06:52:54.23 .net
なんだこんなスレあったのか
みんな使わないのか?

56 :名無しさん@お腹いっぱい。:2016/01/08(金) 10:06:57.50 .net
ム板でいいじゃん

57 :名無しさん@お腹いっぱい。:2016/01/08(金) 10:09:37.05 .net
>>56
でもあいつら文法と入門書しかしらないじゃん

58 :名無しさん@お腹いっぱい。:2016/02/06(土) 23:25:42.18 .net
posixってストールマンが提唱したってマジ?

59 :名無しさん@お腹いっぱい。:2016/02/08(月) 11:24:59.92 .net
そんなこと誰が言ってたの

60 :名無しさん@お腹いっぱい。:2016/02/09(火) 13:45:14.90 .net
POSIXという「名前」はリチャード・ストールマンがIEEEに提案したものである

当てにはならんがw

61 :名無しさん@お腹いっぱい。:2017/12/29(金) 08:09:55.71 .net
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

DAKMZBIRMH

62 :名無しさん@お腹いっぱい。:2018/01/18(木) 15:31:56.03 .net
POSIXのコマンドラインユーティリティにfort77加えられていることに気がついた。
今更かよ!?

63 :名無しさん@お腹いっぱい。:2018/01/20(土) 07:20:49.00 .net
FORTRAN 77 って行番号の桁がある規格外に古びた言語でしょ
なんでそんなのを2018年にもなって実装してんの

64 :名無しさん@お腹いっぱい。:2018/01/21(日) 12:51:59.78 .net
実装しちゃいけない理由がなにかあるのか?

65 :名無しさん@お腹いっぱい。:2018/01/21(日) 21:36:29.21 .net
fort77コマンドってはるか昔から存在するわけで、新たに実装って話じゃなく、現状を追認して規格化しただけよ。
今さら感は確かにある。

66 :名無しさん@お腹いっぱい。:2018/01/22(月) 00:49:02.35 .net
FORTRANなんて捨てろとも思うがどうしても標準化するならfort90実装の方が
良かったなぁ……なぜ今になってfort77実装なのか……。
やっぱUnix畑の連中の脳味噌は理解しがたいわ
ていうかWikipedia見たらfort90ってANSI標準に取り込まれてたんだな。
なら一層POSIXもfort90を採用してくれりゃいいのに。

67 :65:2018/01/22(月) 09:04:02.06 .net
ちゃんと規格確認したら、fort77は1995年頃の Issue 4 の時点で既に規格に入ってたって書いてあるやんけ。
>>62にまんまと騙された。

おまけに将来規格から削除するかもねとまで書いてあるぞ。

68 :名無しさん@お腹いっぱい。:2018/01/22(月) 15:29:06.97 .net
> Issue 7
> SD5-XCU-ERN-97 is applied, updating the SYNOPSIS.
> POSIX.1-2008, Technical Corrigendum 2, XCU/TC2-2008/0102 [546] and XCU/TC2-2008/0103 [546] are applied.
-- fort77 / The Open Group
とあるけど?

69 :65:2018/01/22(月) 18:51:00.81 .net
>>68
それ、内容が更新されたって記載であって、
「fort77加えられている」っていう記載じゃないじゃん。

「fort77加えられ」たって記載は、その上にある
First released in Issue 4.
の方。
でもって、Issue 4 Version 2のリリースは、1990年代半ば。

70 :名無しさん@お腹いっぱい。:2018/01/22(月) 19:27:14.92 .net
Fortranとは全く関係ないんですけど、foldコマンドについて質問です。
foldコマンドって所謂マルチバイト対応はしないのでしょうか。
(少なくとも) UTF-8で記述された日本語を含む平文をfoldに通すと
文字の途中のバイト列で切断され、結果的に改行近くの文字が破壊されてしまいました。
素人の発想ですが、バイト列が固定されるUTF-32に対し4の倍数バイト目で切断したならば
文字情報の破損を防げると思ったのですが、これもまた上手く生きませんでした。

71 :名無しさん@お腹いっぱい。:2018/01/22(月) 19:34:17.15 .net
>>70
実装依存なのでOSとそのバージョンを明らかにしないと誰も答えられない。

72 :名無しさん@お腹いっぱい。:2018/01/22(月) 19:56:59.12 .net
>>67
>>62の「今更かよ!? 」は>>62自身が「気がついた。」ことに対してじゃないのw

73 :名無しさん@お腹いっぱい。:2018/01/22(月) 20:17:00.18 .net
>>72
そんならOK
だとすると>>68は別人ってことかな。

74 :70:2018/01/22(月) 20:25:50.78 .net
>>71
すいません。
 $ fold --version
 fold (GNU coreutils) 8.26
 $ uname --operating-system
 GNU/Linux
よろしくお願いします。

75 :名無しさん@お腹いっぱい。:2018/01/22(月) 20:44:27.42 .net
>>74
最新版でもマルチバイト文字には対応してないね。
http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/fold.c

76 :名無しさん@お腹いっぱい。:2018/01/22(月) 20:54:10.98 .net
ちなみにFreeBSDのfoldはマルチバイト対応してる。
C言語でプログラム書ける人なら移植は難しくないけど。
https://github.com/freebsd/freebsd/blob/master/usr.bin/fold/fold.c

77 :名無しさん@お腹いっぱい。:2018/01/22(月) 21:15:37.32 .net
>>75
わざわざ確認していただいてすいません。
ありがとうございます。
>>76
FreeBSDってGitHubにリポジトリ持ってるんですね。まずそれにビックリしました。
foldはシェルスクリプトでどうにかします。
C言語はともかく移植してリポジトリに登録して……っていう作業はキツいっす

78 :名無しさん@お腹いっぱい。:2018/01/22(月) 21:23:49.39 .net
リポジトリに登録する必要はないのでは。。。

79 :名無しさん@お腹いっぱい。:2018/01/23(火) 08:41:53.50 .net
必要は勿論ないけど、よそのソースいじるんだったらバージョン管理するのはもはやデフォでしょ。
自分だってやると思う。
さすがにリポジトリまるまるコピーするとデカイので、こういう場合はRCSを使うかもしれないがw

80 :名無しさん@お腹いっぱい。:2018/01/23(火) 14:10:28.42 .net
gitなんだからcloneしてそのままいじればいいんだろう?
登録ってなんぞ?

81 :名無しさん@お腹いっぱい。:2018/01/23(火) 14:45:18.23 .net
FreeBSDのgitリポジトリをcloneすると3GB越えになるから、
たかだか1ファイル6KBのためにそれだけcloneするのは
オッサン的には心が痛む。
FreeBSDの場合、マスターは subversion だから、そっちを
checkout するだけなら 1GBくらいで済むけど、それだと
コミットして自分の変更内容を管理できないし。

で、必要なところだけを部分的に自分専用のリポジトリに
突っ込むのなら、登録って話になると思う。

82 :名無しさん@お腹いっぱい。:2018/01/24(水) 04:32:28.92 .net
めんどくさいって言ってる人間がそんなことするのか?
あり得ない妄想膨らませてどうすんの。

83 :名無しさん@お腹いっぱい。:2018/01/24(水) 08:55:04.68 .net
まあリポジトリ登録なんてどんなバージョン管理ツール使っても一瞬だから、そこが心理的障壁になる感覚はよく分からんな。

84 :名無しさん@お腹いっぱい。:2018/01/24(水) 13:18:38.75 .net
単純に低能なだけだろVCSも碌に扱えないような人間が
ソフトウェア開発に咬むとか笑止

85 :名無しさん@お腹いっぱい。:2018/01/24(水) 13:51:23.74 .net
なんでそこまで辛辣になれるのかよく分からん。
日頃よほど辛い目にあってるとかかな。

86 :名無しさん@お腹いっぱい。:2018/01/24(水) 14:38:41.95 .net
辛辣っていうかあたりまえでは……
ちょっと口調は荒いけど,OSSに参加するならそれくらい勉強しようよとも思う
ってのが正直なところ

87 :名無しさん@お腹いっぱい。:2018/01/24(水) 14:52:34.67 .net
自分の必要に応じて手元でソース改変するか自力で書くかって話
(しかも結局自力で書くことにしたって話)を
「OSSに参加する」って表現する感覚は俺には分からないな。
前者を「OSSを利用する」って表現するなら分かるが。

何をそんなに怒ってるのかまったく分からん。
正義感とかじゃないよな。
自分の思う通りに人が動かないと満足できないってこと?

88 :名無しさん@お腹いっぱい。:2018/01/24(水) 14:59:33.03 .net
>>86
いつの間にOSSの開発になったんだ?

89 :名無しさん@お腹いっぱい。:2018/01/24(水) 16:37:04.40 .net
ストールマンもリーナスもキ​チガイだし多少はね?
まあ86が彼等に匹敵する技量の持ち主だとは到底思えないんだけども(失笑)

90 :名無しさん@お腹いっぱい。:2018/01/24(水) 16:48:10.52 .net
いやいや、一番過激と目されるストールマンだって、ソースの公開範囲は、そのソフトウェアの利用者だけで良いとしているぞ。
GPLにもそう書いてある。
(ただし、ソースを配布された利用者が、さらにそのソースを再配布することを制限してはいけないので注意)

自分が使うために改変したソースにまで公開義務があるなんて考えてる人って、OSS原理主義者と目されている人にもいない筈。
そんなこと考えるのは、むしろ OSS ライセンスに疎い人なんじゃないか?

91 :名無しさん@お腹いっぱい。:2018/01/25(木) 16:40:38.16 .net
foldのマルチバイト対応云々言い出した人どうなったんだろ
喧騒に巻き込まれたくないから書き込んでないだけならいいんだけど

92 :名無しさん@お腹いっぱい。:2018/01/30(火) 07:13:17.94 .net
POSIX的に「絶対に存在する」「中身のある」ファイルってなんだろう。
何かの処理を解説する上でそのファイルを使いたい。
ttps://www.ibm.com/developerworks/jp/linux/library/l-awk1/index.html
例えばawkを紹介するこの記事ではawkで処理するファイルに/etc/pass​wdを選んでるけど、
ttp://pubs.opengroup.org/onlinepubs/009695399/functions/link.html
ここを見る限り/etc/pass​wdは任意のようだし…
/dev/nullとかはPOSIXで決ってるけど、テキストファイルじゃないから、自分の用途には合わない。

93 :名無しさん@お腹いっぱい。:2018/02/05(月) 13:28:48.78 .net
ここも読んでるとは思うけど、あきらめて/tmp/unko.txtとか自前で作るしかないやろ
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap10.html

94 :名無しさん@お腹いっぱい。:2018/02/13(火) 20:37:58.33 .net
UnixつーかPOSIXで,
「行の先頭に (同じ) 文字列を加える」ことに特化したコマンドない?
sed でもいいんだけど,Unix哲学に基きたい。

```
foo
bar
buzz
```

っていうのに対して,
```
aaafoo
aaabar
aaabuz
```
っていうのを付け加える。
aaaっていう文字列が書かれたファイルはなくて,できれば引数として渡したい。

95 :名無しさん@お腹いっぱい。:2018/02/13(火) 20:38:27.00 .net
変更後の buz → buzz

96 :名無しさん@お腹いっぱい。:2018/02/13(火) 20:40:43.80 .net
そういう各行の編集をするためにこそsedがあるんじゃん

97 :名無しさん@お腹いっぱい。:2018/02/13(火) 21:50:29.81 .net
pasteでいけると思ったが
> aaaっていう文字列が書かれたファイルはなく
で無理ぽ

for l in $(cat ./file.txt | wc -l); do printf 'aaa\n' >> gen.txt; done
として
paste -d '' gen.txt file.txt
とか。

98 :名無しさん@お腹いっぱい。:2018/02/14(水) 02:07:33.12 .net
>>94
こっちでも聞いてみよう

シェルスクリプト総合 その26
http://mevius.5ch.net/test/read.cgi/unix/1489979246/

99 :名無しさん@お腹いっぱい。:2018/02/14(水) 14:02:20.03 .net
>>94
pasteとyesを組み合わせた全く新しい格闘技

100 :名無しさん@お腹いっぱい。:2018/02/14(水) 17:20:00.03 .net
yes って「あるファイルの終端まで」みたいな判定効いたっけ?無理じゃね?

66 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★