!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C17
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C23 最新ドラフト
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
※前スレ
C言語なら俺に聞け 159
https://mevius.5ch.net/test/read.cgi/tech/1659623547/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C言語なら俺に聞け 160
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ ff63-dxp0)
2022/12/28(水) 10:40:30.02ID:PyoNDBFu0349デフォルトの名無しさん (ワッチョイ 3f7c-4osW)
2023/02/06(月) 01:14:24.69ID:7Y+tRqBu0 実際の所は分からないけど、char同士の比較は単にa == bで問題無いし
蛇足だったな・・・
蛇足だったな・・・
350デフォルトの名無しさん (ワッチョイ 7fcf-EOzK)
2023/02/06(月) 01:38:26.50ID:LWec8Zrw0 エンディアンなんか関係ねーだろアホか
351デフォルトの名無しさん (ワッチョイ 7f02-g5ke)
2023/02/06(月) 02:12:44.74ID:Dw7rHwSO0 >>348
処理系/マシンが同一なら問題無い
Cのcharをuint_32相当として保持するマシンが仮に有ったとして、Cがcharのつもりで書き出し/読み返しを行い、unsigned char(とその配列)として比較する限りはCから違いは見えないよ
だって高級言語だもの()
バイナリデータのやり取り、詰め物あり、他言語プロセスとの共有メモリなら適切に変換するルーチンが必要だけど、それはCに限らず全てのプログラムに当てはまる事
処理系/マシンが同一なら問題無い
Cのcharをuint_32相当として保持するマシンが仮に有ったとして、Cがcharのつもりで書き出し/読み返しを行い、unsigned char(とその配列)として比較する限りはCから違いは見えないよ
だって高級言語だもの()
バイナリデータのやり取り、詰め物あり、他言語プロセスとの共有メモリなら適切に変換するルーチンが必要だけど、それはCに限らず全てのプログラムに当てはまる事
352デフォルトの名無しさん (ワッチョイ 7f02-g5ke)
2023/02/06(月) 02:49:15.07ID:Dw7rHwSO0 32bit以下のデータを全て32bit値として扱うマシンを想定してるのかな?
それは最小アドレス単位、cで言うCHAR_BITSが32のマシンと言い換えられるよね
CHAR_BITSが何bitであろうが、cから見ればsizeof(char)==1である事には変わりがない
と言えば分かりやすいだろうか
それは最小アドレス単位、cで言うCHAR_BITSが32のマシンと言い換えられるよね
CHAR_BITSが何bitであろうが、cから見ればsizeof(char)==1である事には変わりがない
と言えば分かりやすいだろうか
353デフォルトの名無しさん (アウアウウー Sa93-mMLA)
2023/02/06(月) 06:44:27.92ID:xFQJ/1dca >>340
変な結果どころかそもそも&xや&yの次のアドレスを読もうとすることあるから未定義動作だし
変な結果どころかそもそも&xや&yの次のアドレスを読もうとすることあるから未定義動作だし
354デフォルトの名無しさん (ワッチョイ 4f5f-NCx9)
2023/02/06(月) 08:54:18.69ID:KoRl3hvD0 おそらく初心者であろう質問を深読みして暇をつぶすお前らに乾杯
355デフォルトの名無しさん (アウアウウー Sa93-qdck)
2023/02/06(月) 11:15:52.75ID:t0SsOUx4a MISRA-C 2004 の本がある。
MISRA-Cをやっていないと、2004の潜在型/2012の本質型が分からないはず
int 型未満の型を、4バイトに変換してから、元に戻す仕組み。
CPU には、int型未満のレジスタが無いので、使わない部分をマスクするしかない
こういう内部の仕組みは、C/C++ の本には載っていない
こういう変換を知っている香具師は、
むしろ初心者じゃなくて、かなり研究している香具師
普通の香具師は、こういう仕組みを知っているはずがないから。
C/C++の本には載っていないはず
MISRA-Cをやっていないと、2004の潜在型/2012の本質型が分からないはず
int 型未満の型を、4バイトに変換してから、元に戻す仕組み。
CPU には、int型未満のレジスタが無いので、使わない部分をマスクするしかない
こういう内部の仕組みは、C/C++ の本には載っていない
こういう変換を知っている香具師は、
むしろ初心者じゃなくて、かなり研究している香具師
普通の香具師は、こういう仕組みを知っているはずがないから。
C/C++の本には載っていないはず
356デフォルトの名無しさん (ワッチョイ 4f5f-NCx9)
2023/02/06(月) 11:23:50.95ID:KoRl3hvD0 そりゃ絶対とは言わないけどさ、詳しいのにあんな質問の仕方ならかなりひねくれてるわ
357デフォルトの名無しさん (ワッチョイ 3fad-4osW)
2023/02/06(月) 15:55:39.76ID:Pcm2g4vQ0 1 byte は 8 bit とは限らないってことだな。
1 octet は 8 bit 固定と決まっているが。
1 octet は 8 bit 固定と決まっているが。
358デフォルトの名無しさん (ワッチョイ 4f5f-NCx9)
2023/02/06(月) 17:55:31.90ID:KoRl3hvD0 いやでもマシンによってバイトのサイズは変わるかもしれないけど、
少なくともC言語のchar型は8ビットでしょ?違うの?
少なくともC言語のchar型は8ビットでしょ?違うの?
359はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cf3e-F1up)
2023/02/06(月) 18:07:02.20ID:uFl4yuTv0 >>358
ちがうよ。 CHAR_BIT がなんのためにあると思ってんの。
ちがうよ。 CHAR_BIT がなんのためにあると思ってんの。
360デフォルトの名無しさん
2023/02/06(月) 18:13:28.24ID:X/MVAKzo0 >>355
そういうCPUの制約を気にしなくていいのが高級言語だと思うけど違うんかね?
そういうCPU相手のコンパイラならマスクするなり0埋めするなりしてるんじゃない?
想定外のCPU相手なら起こりえるかもしれないけど、それはしょうがないよね
そういうCPUの制約を気にしなくていいのが高級言語だと思うけど違うんかね?
そういうCPU相手のコンパイラならマスクするなり0埋めするなりしてるんじゃない?
想定外のCPU相手なら起こりえるかもしれないけど、それはしょうがないよね
361デフォルトの名無しさん (スップ Sddf-WS7p)
2023/02/06(月) 18:36:57.74ID:Zh5BYfUjd Cは処理系定義が至る所にあるからな
intが2byteの環境もあるし
x86(x64)しか使わないと決め打ちできりゃいいけど
しょぼいCPU向けのしょぼいコンパイラのこと考えなきゃいけないとかなり面倒くさい
intが2byteの環境もあるし
x86(x64)しか使わないと決め打ちできりゃいいけど
しょぼいCPU向けのしょぼいコンパイラのこと考えなきゃいけないとかなり面倒くさい
362デフォルトの名無しさん (アウアウウー Sa93-mMLA)
2023/02/06(月) 19:21:28.86ID:zDYmZQkKa363はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cf3e-F1up)
2023/02/06(月) 20:45:09.59ID:uFl4yuTv0 >>360
システム記述言語として使うことが想定内にあるので高級言語の中では低級なほう。
半世紀前に登場した時点では高級だったかもしれんがそのときの事情を引きずり続けてたら高級になりきれないのもしょうがない。
システム記述言語として使うことが想定内にあるので高級言語の中では低級なほう。
半世紀前に登場した時点では高級だったかもしれんがそのときの事情を引きずり続けてたら高級になりきれないのもしょうがない。
364デフォルトの名無しさん (ワッチョイ 7f63-4osW)
2023/02/06(月) 21:35:59.24ID:T2gDixZS0 中の下あたり?
365デフォルトの名無しさん (ワッチョイ 4f01-mMLA)
2023/02/06(月) 21:49:50.35ID:LM+FnE4L0366デフォルトの名無しさん (ワッチョイ 8fff-KDf3)
2023/02/07(火) 04:23:47.45ID:pZBVLYXq0 高級比べなんてウルトラしょーもない比較してんの初めて見たwww
367デフォルトの名無しさん (JP 0Hbf-lzBW)
2023/02/07(火) 08:13:05.30ID:RNTsodhvH 格納サイズが1octetな符号無し/符号付きの型
368デフォルトの名無しさん (JP 0Hbf-lzBW)
2023/02/07(火) 08:15:09.01ID:RNTsodhvH369デフォルトの名無しさん (ワッチョイ 7fb2-KDf3)
2023/02/07(火) 08:51:22.05ID:X22gDAEx0370デフォルトの名無しさん (スッププ Sd5f-340S)
2023/02/07(火) 09:53:53.00ID:DwAJ4k/cd >>359
つまりcharはマシンのバイトなのでmemcmpではバイトオーダーなんて気にしなくていいって話だろ
つまりcharはマシンのバイトなのでmemcmpではバイトオーダーなんて気にしなくていいって話だろ
371デフォルトの名無しさん (ワッチョイ 4f5f-NCx9)
2023/02/07(火) 13:10:28.46ID:3xIDowU30372デフォルトの名無しさん (ワッチョイ 3fad-4osW)
2023/02/07(火) 17:31:48.89ID:I8JfvgXk0373デフォルトの名無しさん (ワッチョイ 7f63-4osW)
2023/02/07(火) 17:35:32.67ID:oBLl+Yrl0 高級アセンブラ
374デフォルトの名無しさん (ワッチョイ 7f46-+GrI)
2023/02/07(火) 19:08:47.78ID:0Pg2e1tw0 名誉高級言語
375デフォルトの名無しさん (ワッチョイ cf02-2Zio)
2023/02/08(水) 04:20:38.79ID:sW7k1sH00 なるほどね
376デフォルトの名無しさん (ワッチョイ 4f10-4osW)
2023/02/08(水) 08:22:16.03ID:iOvDDO6c0 UNIXの解説書に「UNIX OSの移植の為にC言語を開発した」的なことが書かれてたなぁ。
377デフォルトの名無しさん (ワッチョイ 3fad-2sfl)
2023/02/08(水) 23:07:52.52ID:tLamaggb0 そうそう。
378デフォルトの名無しさん (ワッチョイ 7fcf-EOzK)
2023/02/08(水) 23:18:47.11ID:IYzO9kXQ0 へーそうなんだ
デニスリッチーはそうは思ってないみたいだけど
デニスリッチーはそうは思ってないみたいだけど
379デフォルトの名無しさん (ワッチョイ 7f63-4osW)
2023/02/09(木) 00:04:11.97ID:u6buTta60 デニスリッチーはゲームで遊びたくてC言語を開発した
380デフォルトの名無しさん (ラクッペペ MM4f-E/5O)
2023/02/09(木) 06:30:22.83ID:p7lzjqd+M >>376
その辺りの経緯はK&R本でも触れられてなかったっけ?
その辺りの経緯はK&R本でも触れられてなかったっけ?
381デフォルトの名無しさん (ワッチョイ 7f02-g5ke)
2023/02/10(金) 01:35:56.41ID:y8U7vNGg0 形にしたのはken, dmrだろうけど、個人的にはCの精神とCS的な観点はbwkに帰したい
the practice of programing, software tools (in pascal), the awk programing language、あたりからプロファイリング
ライターとしてずば抜けている、unixには特に拘らず節操無し、スタイルに拘りが強い、形式言語大好き
しかしk&rではセカンドオーサーだから、著作自体にどれだけ影響力あったかは?(言及あったっけ)
まあk&rは汚いコードを得意気に語るあたり、dmr成分多めな気がするなあ…
the practice of programing, software tools (in pascal), the awk programing language、あたりからプロファイリング
ライターとしてずば抜けている、unixには特に拘らず節操無し、スタイルに拘りが強い、形式言語大好き
しかしk&rではセカンドオーサーだから、著作自体にどれだけ影響力あったかは?(言及あったっけ)
まあk&rは汚いコードを得意気に語るあたり、dmr成分多めな気がするなあ…
382デフォルトの名無しさん (ワッチョイ 7f02-g5ke)
2023/02/10(金) 01:48:35.12ID:y8U7vNGg0 いやk&rなんだからファーストオーサーはkernighanだわ、素で間違えた
383デフォルトの名無しさん (ワッチョイ 7f02-g5ke)
2023/02/10(金) 02:07:22.27ID:y8U7vNGg0 俺はunix系ソフトウェアツールはベル研が出してるカジュアル資料で学んだ口だけど、手元の年季入ってくたびれたハードコピーを漁るとほぼbwk著
https://i.imgur.com/n9gVQZ0.jpg
著者は意識してなかったけど、マジ伝道師
https://i.imgur.com/n9gVQZ0.jpg
著者は意識してなかったけど、マジ伝道師
384デフォルトの名無しさん (ワッチョイ 7fcf-EOzK)
2023/02/10(金) 03:12:31.86ID:3+3yiXM/0 書籍はともかくC自体誰が作ったってデニスリッチーが1人で作ったんだろうが
なんで勝手にカーニハンに帰してんだよおまえの所業は朝鮮人よりヒドイだろw
なんで勝手にカーニハンに帰してんだよおまえの所業は朝鮮人よりヒドイだろw
385デフォルトの名無しさん (ワッチョイ 7f02-g5ke)
2023/02/10(金) 04:20:45.54ID:y8U7vNGg0 >>384
日本PC市場でのPC向けUNIX(minix/bsd/linux)本格参戦前(90'後半?)の情報源は、彼に負う所が多かったろう、というバイアスはまあある
大学にでも所属してないとUNIX機に触る機会も無かったし、俺のように>>383のようなサンプルを見て仕様を想像しただろうアマチュア実装(だからmanページは付いてない)が流布していた
なぜCはUNIX文化から脱却できたのか?という(>>376を念頭に置いた)考察ね
bwkの著作にはCP/M, DOS, winプログラ厶の例が多いし、アーキテクチャ/OS間のポータビリティやアルファベット圏以外への進出を真剣に考えてた稀有な人なのは間違いなかろう
wchar_tやらを提唱したのはその一例だし、それを許容するためにC独特の柔軟な(=至る所unspecified)型/メモリモデルを拵えたわけで
あれ、今やどっちも負債になってるような…
いや理論上頑張ればできるけど、まあ頑張ればね?
日本PC市場でのPC向けUNIX(minix/bsd/linux)本格参戦前(90'後半?)の情報源は、彼に負う所が多かったろう、というバイアスはまあある
大学にでも所属してないとUNIX機に触る機会も無かったし、俺のように>>383のようなサンプルを見て仕様を想像しただろうアマチュア実装(だからmanページは付いてない)が流布していた
なぜCはUNIX文化から脱却できたのか?という(>>376を念頭に置いた)考察ね
bwkの著作にはCP/M, DOS, winプログラ厶の例が多いし、アーキテクチャ/OS間のポータビリティやアルファベット圏以外への進出を真剣に考えてた稀有な人なのは間違いなかろう
wchar_tやらを提唱したのはその一例だし、それを許容するためにC独特の柔軟な(=至る所unspecified)型/メモリモデルを拵えたわけで
あれ、今やどっちも負債になってるような…
いや理論上頑張ればできるけど、まあ頑張ればね?
386デフォルトの名無しさん (テテンテンテン MM4f-1Ruw)
2023/02/10(金) 08:31:20.48ID:/qli6azmM カーニハンのWikipediaのページには、C言語の作成には全く関わっていないと書いてあるぞ
出典のインタビューにはリッチーが全部やったと言っている
出典のインタビューにはリッチーが全部やったと言っている
387デフォルトの名無しさん (スフッ Sd5f-ZaaW)
2023/02/10(金) 09:02:55.50ID:IpbZJCuZd なんか色々とそれっぽい事書いてるけど中身全くないのにワロタ
388デフォルトの名無しさん (スププ Sd5f-g5ke)
2023/02/10(金) 13:52:45.73ID:u7Z+Ehuld >>386
だからライターとしての側面を述べてるのだが
だからライターとしての側面を述べてるのだが
389デフォルトの名無しさん (ワッチョイ 8f12-KDf3)
2023/02/10(金) 14:24:32.35ID:rXRs96IF0 相方を持ち上げるために
自分は何もしてないよと謙るやつか
自分は何もしてないよと謙るやつか
390デフォルトの名無しさん (スププ Sd5f-g5ke)
2023/02/10(金) 15:51:06.46ID:OadphjcVd wchar_tに関しては確か日本語版2版に訳者がKへ吹き込んだ、という記述が
いわゆるK&R以外にもK&R共著は無数にあるが、おおむねイノベーターがRでKがまとめ役というのは察せられるし、そこに異論はないよ
いわゆるK&R以外にもK&R共著は無数にあるが、おおむねイノベーターがRでKがまとめ役というのは察せられるし、そこに異論はないよ
391デフォルトの名無しさん (アウアウウー Sa93-HC4e)
2023/02/10(金) 20:03:34.55ID:fRHwVLJ/a おまえらかっこつけんな
392デフォルトの名無しさん (ワッチョイ 4f5f-NCx9)
2023/02/10(金) 21:52:14.87ID:CNGsx6gg0 LISPに言ってくれ
393デフォルトの名無しさん (ワッチョイ 7f63-4osW)
2023/02/10(金) 22:02:01.42ID:ECKlR5jZ0 カギ括弧で勘弁
394デフォルトの名無しさん (ワッチョイ 8a79-sQVB)
2023/02/11(土) 17:33:42.32ID:naJCJAFi0 名前カニチャーハンぽいから仕事してなくても許すね
395デフォルトの名無しさん (スーップ Sdaa-DQuG)
2023/02/11(土) 21:40:15.68ID:vXc/j/A4d >>394
はずしたなw
はずしたなw
396デフォルトの名無しさん (ワッチョイ 1e46-kPwk)
2023/02/12(日) 05:54:47.01ID:DTNrGkO70 >>394
かに飯じゃないんだ。charは何処へ消えたの。
かに飯じゃないんだ。charは何処へ消えたの。
397デフォルトの名無しさん (ワッチョイ 8aad-D0vN)
2023/02/13(月) 03:01:58.65ID:euuzmFvH0 Kani & chaRhan
398デフォルトの名無しさん (テテンテンテン MMc6-Dj+E)
2023/02/13(月) 03:07:30.87ID:ww0US2bcM こん平を思い出すな…
399デフォルトの名無しさん (ワッチョイ 835f-uIvN)
2023/02/14(火) 09:52:16.15ID:SWO7K81V0 カニ入ってる、あぁんリッチ〜
400デフォルトの名無しさん (スッププ Sdaa-DQuG)
2023/02/14(火) 15:36:46.24ID:aItu9g/Ad ファミ通のお習字コーナーかよw
401デフォルトの名無しさん (ワッチョイ 477c-7Kef)
2023/02/15(水) 16:00:13.19ID:ficf9YEj0 最近、Cが熱いのは、どのフィールドですか?
pythonなら、人工知能、みたいな
pythonなら、人工知能、みたいな
402デフォルトの名無しさん (ラクッペペ MMc6-+vFv)
2023/02/15(水) 16:15:56.41ID:qFuD6UUNM エンベデッド
403デフォルトの名無しさん (ワッチョイ ca7c-D0vN)
2023/02/15(水) 16:24:04.96ID:aDsLy0wQ0 純粋なCって実際使われている気がしないんだがなぁ
結局C++使ってるんじゃね?
組み込みとかでさえC/C++じゃなくなりつつあるような
結局C++使ってるんじゃね?
組み込みとかでさえC/C++じゃなくなりつつあるような
404デフォルトの名無しさん (ワッチョイ 1e63-D0vN)
2023/02/15(水) 16:44:40.14ID:FSuJDOWl0 LinuxはC一筋です
405デフォルトの名無しさん (ワッチョイ 8aad-D0vN)
2023/02/15(水) 19:45:43.63ID:yIa7rkEJ0 Linux は Rust も使われ始めた。
https://codezine.jp/article/detail/17038
https://codezine.jp/article/detail/17038
406デフォルトの名無しさん (ワッチョイ 4a4b-C/iO)
2023/02/15(水) 20:07:02.73ID:D5gZ9dH30 >>403
自動車関係の組み込み開発してるけど純粋なC使ってるね
自動車関係の組み込み開発してるけど純粋なC使ってるね
407デフォルトの名無しさん (ワッチョイ 1e46-kPwk)
2023/02/15(水) 22:41:28.51ID:PTreX2Lr0 不純なCって...
408デフォルトの名無しさん (ワッチョイ 1e63-D0vN)
2023/02/15(水) 22:43:54.06ID:FSuJDOWl0 年齢確認をちゃんとしましょう
409デフォルトの名無しさん (アウアウウー Sa4f-sD5a)
2023/02/16(木) 08:38:15.82ID:XJzboKn0a 不純なCってObjective-Cとかかな
C++はもうCじゃないし
C++はもうCじゃないし
410デフォルトの名無しさん (ワッチョイ 835f-uIvN)
2023/02/16(木) 10:11:37.88ID:G6Y1BfCz0 表向きCってことにしてるけど、C++コンパイラでコンパイルしてて、ひっそりstringだけ使ってるみたいな?
411デフォルトの名無しさん (ラクッペペ MMc6-+vFv)
2023/02/16(木) 11:50:52.25ID:xQKS9LtVM 0bリテラルやビットフィールド順序指示子などの独自拡張あり
412デフォルトの名無しさん (ワッチョイ 1e63-D0vN)
2023/02/16(木) 11:53:11.52ID:jE/BygjJ0 C言語仕様に取り込んでほしかった
413デフォルトの名無しさん (ワッチョイ a712-NLDk)
2023/02/16(木) 13:40:46.45ID:kLJI764s0 0bを0xに変換するフィルタくらいなら、すぐできるだろ
414デフォルトの名無しさん (テテンテンテン MMc6-Dj+E)
2023/02/16(木) 13:50:49.50ID:5p7a/1XmM 0bはC23で標準化されるよ
415デフォルトの名無しさん (テテンテンテン MMc6-Dj+E)
2023/02/16(木) 13:54:29.69ID:5p7a/1XmM digit separatorも追加されたから
0b1100'0011'0101'0011
みたいな書き方が出来る
0b1100'0011'0101'0011
みたいな書き方が出来る
416デフォルトの名無しさん (ワッチョイ 4a7c-WEwL)
2023/02/16(木) 15:47:22.38ID:oZu+eRtF0 'がセパレーターなのか。
組み込みで0bが使える処理系は以前からあるけど、
VerilogやVHDLみたく0b1101_0100のようなセパレーターが使えなくてバグの元でしかなかった。
組み込みで0bが使える処理系は以前からあるけど、
VerilogやVHDLみたく0b1101_0100のようなセパレーターが使えなくてバグの元でしかなかった。
417デフォルトの名無しさん (アウアウウー Sa4f-STvZ)
2023/02/16(木) 17:05:43.13ID:5AcA3bi5a 不純な C って Win32API のことかな
418デフォルトの名無しさん (ワッチョイ de02-6did)
2023/02/16(木) 17:21:05.96ID:XEsPtkpG0 セパレータに'は文字リテラルとの曖昧性でパースが面倒そうな…
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で任意進数を指定
:はデフォルト(wid=3, delim=',)
例: "~:d"→123,456,789
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で任意進数を指定
:はデフォルト(wid=3, delim=',)
例: "~:d"→123,456,789
419デフォルトの名無しさん (スフッ Sdaa-6did)
2023/02/16(木) 17:37:10.74ID:CsQoVivgd >>413
リテラル導入よりまずはprintf/scanfの強化が先かなと、コンパイラやプログラマがすり替えのも楽になるし
一々baseで割ってfputc、i%sep==0の時にはdelimを吐く、なんてコードを何回書捨てたか分からん
リテラル記法導入は文法に関わるので、あくまで標準は保守的に
formatディレクティブはもう既に混沌としてるから、独自拡張もサポート落とすも自由でいいかと
リテラル導入よりまずはprintf/scanfの強化が先かなと、コンパイラやプログラマがすり替えのも楽になるし
一々baseで割ってfputc、i%sep==0の時にはdelimを吐く、なんてコードを何回書捨てたか分からん
リテラル記法導入は文法に関わるので、あくまで標準は保守的に
formatディレクティブはもう既に混沌としてるから、独自拡張もサポート落とすも自由でいいかと
420デフォルトの名無しさん (ワッチョイ 1e63-D0vN)
2023/02/16(木) 18:37:34.78ID:jE/BygjJ0 2進表記は8進表記より使い道多いと思う
421デフォルトの名無しさん (ワッチョイ d301-sPc2)
2023/02/16(木) 19:38:40.25ID:LB1U3BvE0 >>419
printf はともかく scanf なんて使わんだろ
printf はともかく scanf なんて使わんだろ
422デフォルトの名無しさん (ワッチョイ d301-sPc2)
2023/02/16(木) 19:40:44.28ID:LB1U3BvE0423デフォルトの名無しさん (ワッチョイ 6a36-D0vN)
2023/02/17(金) 10:35:53.81ID:49a3FDgU0 8進数なんて8bitPC時代のグラ512色関連以外で使用する場面あるのかと思ってたけど・・・そうか、アレか。
424デフォルトの名無しさん (ワッチョイ de02-6did)
2023/02/17(金) 11:02:28.45ID:DgZQWw4l0 octal(リテラル表記)はutf-8の台頭でCで使う機会はかなり増えたと思うが
陽に扱うならだけど
msb2つを多バイト文字の継続フラグ等に割いてるから本質的には6bitで、hexだと人力では読むのも書くのも厳しい
陽に扱うならだけど
msb2つを多バイト文字の継続フラグ等に割いてるから本質的には6bitで、hexだと人力では読むのも書くのも厳しい
425デフォルトの名無しさん (ワッチョイ de02-6did)
2023/02/17(金) 11:27:19.29ID:DgZQWw4l0 xx表示だとffbb_bbbbの上4bitに対応するx=ffbbが任意な値に化ける
ooo表記だとff_bbb_bbbで良い感じ
ooo表記だとff_bbb_bbbで良い感じ
426デフォルトの名無しさん (ワンミングク MMfa-7nFJ)
2023/02/17(金) 13:16:42.61ID:w2wgHjMGM 10進数のテーブルデータ記述するのに桁合わせのつもりで先頭に0を書いた苦い思い出
427デフォルトの名無しさん (オッペケ Sra3-jQmO)
2023/02/17(金) 13:53:50.60ID:2H95YDcjr なんで8進定数のプレフィックスは0oじゃなくて0なんかね?
428デフォルトの名無しさん (テテンテンテン MMc6-Dj+E)
2023/02/17(金) 14:15:10.27ID:fMLNQIVeM 人間の指が4本だったら、普段使う数字が8進数になって、コンピューターとの相性も良かったのになw
429デフォルトの名無しさん (ワッチョイ 8be4-eTyR)
2023/02/17(金) 14:24:53.50ID:vP8p7Q2U0 >>422
システムコールを使ったちょっとしたコーディングの場合、オープンモードはdefineされたやつ使うけど、ファイルモードは8進の値を直接指定することが多かった
open("foo", O_CREAT|O_RDWR, 0644)
ここに S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH なんて書いたことはないな
ちゃんとしたコーディングの場合にはファイルモードを指定する別途関数なり定数定義を用意してたりするからそっちの定義ではdefineされた値を使うことはあったけど
システムコールを使ったちょっとしたコーディングの場合、オープンモードはdefineされたやつ使うけど、ファイルモードは8進の値を直接指定することが多かった
open("foo", O_CREAT|O_RDWR, 0644)
ここに S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH なんて書いたことはないな
ちゃんとしたコーディングの場合にはファイルモードを指定する別途関数なり定数定義を用意してたりするからそっちの定義ではdefineされた値を使うことはあったけど
430デフォルトの名無しさん (ワッチョイ 8be4-eTyR)
2023/02/17(金) 14:44:42.94ID:vP8p7Q2U0 直接openシステムコール使ってるオープンソースのプログラム、シェルあたりならやってそうだと思って簡単にアクセスできそうなソースコード探してみた
bash見つからなくてzshは見つかったので見てみたらやっぱり直接0600とか書いてるな
https://sourceforge.net/p/zsh/code/ci/master/tree/Src/utils.c#l2216
その上でumask(0177)とかもやってる
bash見つからなくてzshは見つかったので見てみたらやっぱり直接0600とか書いてるな
https://sourceforge.net/p/zsh/code/ci/master/tree/Src/utils.c#l2216
その上でumask(0177)とかもやってる
431デフォルトの名無しさん (スプッッ Sd4a-nNBs)
2023/02/17(金) 18:22:15.54ID:G6mVZKAVd ESCシーケンスを使うときは¥033
432デフォルトの名無しさん (ワッチョイ d301-GLFt)
2023/02/17(金) 20:16:44.94ID:KJxAAApA0 >>430
まあ、コピーライト見たらわかる通りそういう時代だったしね
> * Copyright (c) 1992-1997 ポール・ファルスタッド
マジックナンバー警察じゃないけど流石に今時0777なんて書いてたらレビューで指摘するわ
まあ、コピーライト見たらわかる通りそういう時代だったしね
> * Copyright (c) 1992-1997 ポール・ファルスタッド
マジックナンバー警察じゃないけど流石に今時0777なんて書いてたらレビューで指摘するわ
433デフォルトの名無しさん (ワッチョイ 8be4-eTyR)
2023/02/17(金) 20:50:25.13ID:vP8p7Q2U0 >>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);
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デフォルトの名無しさん (アウアウエー Sa13-nl9c)
2023/02/18(土) 09:01:47.10ID:4a504/qwa C#について教えてください! https://smartlabo-hp.com/login-intermediate/ 上記ページを見てログインボタンを作成しました。 このページ内にあるcsvファイルの内容に加えて同csvファイルの[2]にログイン状態という列を足したいです。 ログインしてない状態では[2]は常に0、ログイン成功したら[2]に1が書かれるようにするにはどうすればいいのでしょうか? ご教授よろしくお願いします。
435デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 09:17:57.34ID:/Gi8XN260436デフォルトの名無しさん (スププ Sd43-CAVk)
2023/02/18(土) 09:20:32.20ID:/rOnqr64d ハノイの塔 再帰のアルゴリズムがさっぱりわからない
437デフォルトの名無しさん (スププ Sd43-CAVk)
2023/02/18(土) 09:21:30.09ID:/rOnqr64d ハノイの塔 再帰のアルゴリズムがさっぱりわからない
438デフォルトの名無しさん (ワッチョイ 755f-rVJW)
2023/02/18(土) 09:36:15.97ID:AfjXtSgB0 スタックから覚えようね
439デフォルトの名無しさん (アウアウエー Sa13-nl9c)
2023/02/18(土) 10:11:08.15ID:4a504/qwa >>435
すいません
すいません
440デフォルトの名無しさん (ワッチョイ 232b-+m/E)
2023/02/18(土) 12:46:07.82ID:/8v09ncn0 >>426
8進数なのに8と9が使える驚異の仕様だよ
8進数なのに8と9が使える驚異の仕様だよ
441デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 12:50:39.59ID:/Gi8XN260 ctype.hに
isdigitとisxdigitがあるのに
isodigitがないというのが
その問題の根にある
isdigitとisxdigitがあるのに
isodigitがないというのが
その問題の根にある
442デフォルトの名無しさん (ワッチョイ 1501-rc3u)
2023/02/18(土) 13:42:13.38ID:c4QxGie20 >>433
何を必死になってるのかよくわからんが老害の悪癖は治らないってだけの話かと
何を必死になってるのかよくわからんが老害の悪癖は治らないってだけの話かと
443デフォルトの名無しさん (ワッチョイ 1501-rc3u)
2023/02/18(土) 13:44:46.64ID:c4QxGie20 >>440
規格では使えないことになってるしまともなコンパイラならエラーにすると思うぞ
規格では使えないことになってるしまともなコンパイラならエラーにすると思うぞ
444デフォルトの名無しさん (ワッチョイ a397-vL47)
2023/02/18(土) 14:09:47.51ID:BJBnPVcc0445デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 14:13:43.35ID:/Gi8XN260 みんな日常的によく使う8進定数「0」
446デフォルトの名無しさん (ワッチョイ cb63-BTrK)
2023/02/18(土) 15:46:52.83ID:ke/LtjiK0 そうか、オレは二進数の0をよく使う
447デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 16:01:46.62ID:/Gi8XN260 ソースコード上での記数法と
実行環境での表現を混同してる?
実行環境での表現を混同してる?
448デフォルトの名無しさん (ワッチョイ 23ad-BTrK)
2023/02/18(土) 16:04:29.75ID:dElKqib40 >>444
じゃあ8で。
じゃあ8で。
449デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 16:16:07.43ID:/Gi8XN260 なんでオーにしなかったのかとは俺も思う
特に小文字オーなら誤読しにくいし
特に小文字オーなら誤読しにくいし
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 立民・岡田氏の質疑「不適切」 維新・藤田氏、台湾有事答弁巡り [蚤の市★]
- 【悲報】日本、自民党(統一教会)で完全崩壊か?年金制度実質破綻、生活保護、国民健康保険廃止へ [383063292]
- ㊗157円 [194819832]
- なんでIDがHAPPYなの?
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 高市早苗って「わざと」日本畳んでるよな? [419865925]
- ‎
