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

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

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

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

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


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

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

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

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

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

942015/09/26(土) 09:11:51.05
追加情報。

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

21名無しさん@お腹いっぱい。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);}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

当てにはならんがw

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

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

DAKMZBIRMH

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

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

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

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

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

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

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

68名無しさん@お腹いっぱい。2018/01/22(月) 15:29:06.97
> 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
とあるけど?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

92名無しさん@お腹いっぱい。2018/01/30(火) 07:13:17.94
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
ここも読んでるとは思うけど、あきらめて/tmp/unko.txtとか自前で作るしかないやろ
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap10.html

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

```
foo
bar
buzz
```

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

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

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

97名無しさん@お腹いっぱい。2018/02/13(火) 21:50:29.81
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
>>94
こっちでも聞いてみよう

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

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

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

新着レスの表示
レスを投稿する