[過去ログ] C言語なら俺に聞け 160 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
416(1): (ワッチョイ 4a7c-WEwL) 2023/02/16(木)15:47 ID:oZu+eRtF0(1) AAS
'がセパレーターなのか。
組み込みで0bが使える処理系は以前からあるけど、
VerilogやVHDLみたく0b1101_0100のようなセパレーターが使えなくてバグの元でしかなかった。
417: (アウアウウー Sa4f-STvZ) 2023/02/16(木)17:05 ID:5AcA3bi5a(1) AAS
不純な C って Win32API のことかな
418: (ワッチョイ de02-6did) 2023/02/16(木)17:21 ID:XEsPtkpG0(1) AAS
セパレータに'は文字リテラルとの曖昧性でパースが面倒そうな…
0b表記はtccでさえサポートしてる(セパレータ_, 'は不可)し、俺の普段使いで0b表記を受け付けないのは多分pccくらい
C界隈では区切り文字と桁数はロケールの管轄(闇)という事になってるけど、簡潔に明示指定できるだけで単純にデバッグ出力も読みやすくなるよね?
オクテット区切りなら
ooo_ooo、xx_xxやbbbbbbbb_bbbbbbbb
ニブル区切りはbbbb_bbbb
等
先行例としてlisp系のformatディレクティブを参考までに
"~[:][base,wid,pad,delim,]R"
Rは専用のb,o,d,xか、rで任意進数を指定
省2
419(1): (スフッ Sdaa-6did) 2023/02/16(木)17:37 ID:CsQoVivgd(1) AAS
>>413
リテラル導入よりまずはprintf/scanfの強化が先かなと、コンパイラやプログラマがすり替えのも楽になるし
一々baseで割ってfputc、i%sep==0の時にはdelimを吐く、なんてコードを何回書捨てたか分からん
リテラル記法導入は文法に関わるので、あくまで標準は保守的に
formatディレクティブはもう既に混沌としてるから、独自拡張もサポート落とすも自由でいいかと
420(1): (ワッチョイ 1e63-D0vN) 2023/02/16(木)18:37 ID:jE/BygjJ0(2/2) AAS
2進表記は8進表記より使い道多いと思う
421: (ワッチョイ d301-sPc2) 2023/02/16(木)19:38 ID:LB1U3BvE0(1/2) AAS
>>419
printf はともかく scanf なんて使わんだろ
422(1): (ワッチョイ d301-sPc2) 2023/02/16(木)19:40 ID:LB1U3BvE0(2/2) AAS
>>420
てか8進表記なんてun*xのファイルモードでしか使ったことないわ
しかも普通はdefineされたやつ使うから直接書くことはないし
423: (ワッチョイ 6a36-D0vN) 2023/02/17(金)10:35 ID:49a3FDgU0(1) AAS
8進数なんて8bitPC時代のグラ512色関連以外で使用する場面あるのかと思ってたけど・・・そうか、アレか。
424: (ワッチョイ de02-6did) 2023/02/17(金)11:02 ID:DgZQWw4l0(1/2) AAS
octal(リテラル表記)はutf-8の台頭でCで使う機会はかなり増えたと思うが
陽に扱うならだけど
msb2つを多バイト文字の継続フラグ等に割いてるから本質的には6bitで、hexだと人力では読むのも書くのも厳しい
425: (ワッチョイ de02-6did) 2023/02/17(金)11:27 ID:DgZQWw4l0(2/2) AAS
xx表示だとffbb_bbbbの上4bitに対応するx=ffbbが任意な値に化ける
ooo表記だとff_bbb_bbbで良い感じ
426(1): (ワンミングク MMfa-7nFJ) 2023/02/17(金)13:16 ID:w2wgHjMGM(1) AAS
10進数のテーブルデータ記述するのに桁合わせのつもりで先頭に0を書いた苦い思い出
427: (オッペケ Sra3-jQmO) 2023/02/17(金)13:53 ID:2H95YDcjr(1) AAS
なんで8進定数のプレフィックスは0oじゃなくて0なんかね?
428: (テテンテンテン MMc6-Dj+E) 2023/02/17(金)14:15 ID:fMLNQIVeM(1) AAS
人間の指が4本だったら、普段使う数字が8進数になって、コンピューターとの相性も良かったのになw
429: (ワッチョイ 8be4-eTyR) 2023/02/17(金)14:24 ID:vP8p7Q2U0(1/3) AAS
>>422
システムコールを使ったちょっとしたコーディングの場合、オープンモードはdefineされたやつ使うけど、ファイルモードは8進の値を直接指定することが多かった
open("foo", O_CREAT|O_RDWR, 0644)
ここに S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH なんて書いたことはないな
ちゃんとしたコーディングの場合にはファイルモードを指定する別途関数なり定数定義を用意してたりするからそっちの定義ではdefineされた値を使うことはあったけど
430(1): (ワッチョイ 8be4-eTyR) 2023/02/17(金)14:44 ID:vP8p7Q2U0(2/3) AAS
直接openシステムコール使ってるオープンソースのプログラム、シェルあたりならやってそうだと思って簡単にアクセスできそうなソースコード探してみた
bash見つからなくてzshは見つかったので見てみたらやっぱり直接0600とか書いてるな
外部リンク[c]:sourceforge.net
その上でumask(0177)とかもやってる
431: (スプッッ Sd4a-nNBs) 2023/02/17(金)18:22 ID:G6mVZKAVd(1) AAS
ESCシーケンスを使うときは¥033
432(1): (ワッチョイ d301-GLFt) 2023/02/17(金)20:16 ID:KJxAAApA0(1) AAS
>>430
まあ、コピーライト見たらわかる通りそういう時代だったしね
> * Copyright (c) 1992-1997 ポール・ファルスタッド
マジックナンバー警察じゃないけど流石に今時0777なんて書いてたらレビューで指摘するわ
433(1): (ワッチョイ 8be4-eTyR) 2023/02/17(金)20:50 ID:vP8p7Q2U0(3/3) AAS
>>432
git のソースコードのリポジトリを clone したのがあったので、git grep O_CREATとかgit grep umask とかするとみんな0600とか書きまくりだった
git blame してみると2021年とか最近でもやりまくり
66e905b7dd0 (XXX 2021-08-25 22:16:46 +0200 82) fd = xopen(index_name, O_CREAT|O_EXCL|O_WRONLY, 0600);
66e905b7dd0 (XXX 2021-08-25 22:16:46 +0200 252) fd = xopen(rev_name, O_CREAT|O_EXCL|O_WRONLY, 0600);
434(1): (アウアウエー Sa13-nl9c) 2023/02/18(土)09:01 ID:4a504/qwa(1/2) AAS
C#について教えてください! 外部リンク:smartlabo-hp.com 上記ページを見てログインボタンを作成しました。 このページ内にあるcsvファイルの内容に加えて同csvファイルの[2]にログイン状態という列を足したいです。 ログインしてない状態では[2]は常に0、ログイン成功したら[2]に1が書かれるようにするにはどうすればいいのでしょうか? ご教授よろしくお願いします。
435(1): (ワッチョイ 3d12-+91A) 2023/02/18(土)09:17 ID:/Gi8XN260(1/7) AAS
>>434
スレ違い
こっちでやれ
2chスレ:tech
436(2): (スププ Sd43-CAVk) 2023/02/18(土)09:20 ID:/rOnqr64d(1/2) AAS
ハノイの塔 再帰のアルゴリズムがさっぱりわからない
437: (スププ Sd43-CAVk) 2023/02/18(土)09:21 ID:/rOnqr64d(2/2) AAS
ハノイの塔 再帰のアルゴリズムがさっぱりわからない
438: (ワッチョイ 755f-rVJW) 2023/02/18(土)09:36 ID:AfjXtSgB0(1) AAS
スタックから覚えようね
439: (アウアウエー Sa13-nl9c) 2023/02/18(土)10:11 ID:4a504/qwa(2/2) AAS
>>435
すいません
440(2): (ワッチョイ 232b-+m/E) 2023/02/18(土)12:46 ID:/8v09ncn0(1) AAS
>>426
8進数なのに8と9が使える驚異の仕様だよ
441: (ワッチョイ 3d12-+91A) 2023/02/18(土)12:50 ID:/Gi8XN260(2/7) AAS
ctype.hに
isdigitとisxdigitがあるのに
isodigitがないというのが
その問題の根にある
442(2): (ワッチョイ 1501-rc3u) 2023/02/18(土)13:42 ID:c4QxGie20(1/6) AAS
>>433
何を必死になってるのかよくわからんが老害の悪癖は治らないってだけの話かと
443(2): (ワッチョイ 1501-rc3u) 2023/02/18(土)13:44 ID:c4QxGie20(2/6) AAS
>>440
規格では使えないことになってるしまともなコンパイラならエラーにすると思うぞ
444(1): (ワッチョイ a397-vL47) 2023/02/18(土)14:09 ID:BJBnPVcc0(1) AAS
>>440
規格決めた人に問題がある
ゼロは避けるべきだった
445: (ワッチョイ 3d12-+91A) 2023/02/18(土)14:13 ID:/Gi8XN260(3/7) AAS
みんな日常的によく使う8進定数「0」
上下前次1-新書関写板覧索設栞歴
あと 557 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.023s