C言語なら俺に聞け 164 (108レス)
C言語なら俺に聞け 164 http://mevius.5ch.net/test/read.cgi/tech/1753252201/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: デフォルトの名無しさん (ワッチョイ 3301-UQbq) [sage] 2025/07/23(水) 15:30:01.81 ID:eCR5cXRr0 (新スレ立ての際上記コマンドを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言語なら俺に聞け 163 https://mevius.5ch.net/test/read.cgi/tech/1721137434/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured http://mevius.5ch.net/test/read.cgi/tech/1753252201/1
28: デフォルトの名無しさん (アウアウウー Sa53-ilUi) [] 2025/09/20(土) 16:58:37.16 ID:VevbIipia 特定の実装でたまたまそうだったからと言って 全ての実装でそうなっているかどうかは別の話 優しくしてね http://mevius.5ch.net/test/read.cgi/tech/1753252201/28
29: デフォルトの名無しさん (ワッチョイ cf2a-V9PH) [sage] 2025/09/20(土) 17:25:51.73 ID:1eZiY7gC0 霊界通信だな http://mevius.5ch.net/test/read.cgi/tech/1753252201/29
30: デフォルトの名無しさん (ブーイモ MM4f-uyy9) [sage] 2025/09/20(土) 17:26:59.16 ID:+Sf+AUyNM ID:I8uDgIdj0 このprintfじじい何言おうとしたか忘れたな http://mevius.5ch.net/test/read.cgi/tech/1753252201/30
31: デフォルトの名無しさん (ワッチョイ 0af8-p2ny) [] 2025/09/21(日) 04:07:46.37 ID:Obb0mglL0 内部通報で無理なので犯罪者通報 暗黒状態の量子もつれを生成することに成功:世界初の快挙 公開日2025.09.10 18:30:27 WEDNESDAY https://nazology.kusuguru.co.jp/archives/184832 >>量子もつれが非常に壊れやすく、外界のノイズ(熱の揺らぎや周囲からの電磁波など)によって簡単に消えてしまうことです。 >>このノイズによる量子もつれの崩壊現象は「デコヒーレンス」と呼ばれ、量子技術が実験室の外で広く実用化されるのを妨げる最大の壁となってきました。 ◇ ・どうやって地上で行えるのですか? ・ 嵐の中や甘風が強い中での車での走行中などどうやって維持しているのかな ・UFOは重力県内でテレポートしている偽物だろう? ◇ ・統合失調症から見て犯人不明で周囲の人は知っているかもしれませんが宇宙人だと名乗っているのとテレポート技術を所持している ・7人殺害した ・お前で埴鎮目だ ・殺害した人野事を晩酌で高笑いをしている ・お前「被害者=統合失調症=24実感365日幻聴などの幻覚あり」を人質に立てこもる ・絶対に殺させる「自殺か殺人かは不明ですがさせる」 ・コロな症状を引き起こせる ※など上記の事を話してきた ◇ ここにも愉快犯の犯人組織が居るだろう! http://mevius.5ch.net/test/read.cgi/tech/1753252201/31
32: デフォルトの名無しさん (ワッチョイ 07cf-Z3W9) [] 2025/09/23(火) 07:07:11.79 ID:yrK5wSNc0 そもそもprintfなんて初心者しか見ないからなw http://mevius.5ch.net/test/read.cgi/tech/1753252201/32
33: デフォルトの名無しさん (ワッチョイ 6aee-lG8I) [] 2025/09/23(火) 07:49:44.65 ID:qmWEk+ay0 まじかよ20年以上使ってる俺は恥知らずかなんかなのか? printfファミリーは標準ライブラリではぶっちぎりのイケメンだと思うんだが 何年か前に買ったマイスターシュテックって万年筆にも「snprintf」って名入れしたくらいだし ちなみに標準ライブラリで次に好きなのはsize_t型とNULLマクロ http://mevius.5ch.net/test/read.cgi/tech/1753252201/33
34: デフォルトの名無しさん (ワッチョイ 5301-VfWQ) [sage] 2025/09/23(火) 14:22:38.23 ID:Opf++eei0 printfはスピートが遅いからなあ http://mevius.5ch.net/test/read.cgi/tech/1753252201/34
35: デフォルトの名無しさん (ワッチョイ 86ef-P6+q) [sage] 2025/09/24(水) 12:40:37.19 ID:fylTkn+t0 組み込みでも無い限りらprintfで充分だろ http://mevius.5ch.net/test/read.cgi/tech/1753252201/35
36: デフォルトの名無しさん (ワッチョイ 1ac0-IpVF) [sage] 2025/09/24(水) 19:27:33.73 ID:Z7gG6kHJ0 printfじゃないならなに使うの? http://mevius.5ch.net/test/read.cgi/tech/1753252201/36
37: デフォルトの名無しさん (ワッチョイ 03b1-mXfw) [sage] 2025/09/24(水) 20:03:29.17 ID:cUnaCE/P0 printf多用する場面ってそんな速度必要か? テキスト表示のアクションゲームでも作るんか? http://mevius.5ch.net/test/read.cgi/tech/1753252201/37
38: デフォルトの名無しさん (ワッチョイ 46ca-RvFB) [sage] 2025/09/24(水) 20:34:19.07 ID:EXobIxwL0 ちなgccならputsに置き換え可能なら勝手に置き換える http://mevius.5ch.net/test/read.cgi/tech/1753252201/38
39: デフォルトの名無しさん (ワッチョイ 1e10-d2qd) [sage] 2025/09/26(金) 13:37:49.15 ID:XlYbxwe30 今時プアなマシン使っているので無い限り 実行速度難敵にする奴いないだろう http://mevius.5ch.net/test/read.cgi/tech/1753252201/39
40: デフォルトの名無しさん (ワッチョイ e364-5QMm) [sage] 2025/09/26(金) 16:32:57.14 ID:ePhQUwKm0 プアなマシンを使っているのでやっぱつれぇわ http://mevius.5ch.net/test/read.cgi/tech/1753252201/40
41: デフォルトの名無しさん (ワッチョイ ffc1-d2qd) [sage] 2025/09/26(金) 17:25:52.87 ID:jSwTkQnE0 かつてプアだった頃、他の奴が16ビットPC使っている中自分だけ8ビットPC(nec PC8001mk2)使って蔵書管理プログラム書き上げたな。漢字も扱えてたよ。出力はEPSONのMP80というカナ印字ドットインパクト、これの1/2ドット改行隠しコマンド見つけて16ドット漢字出力させてた。漢字ROMからのイメージ取得や展開にアセンブラも使用。実用性は殆どないが、勉強にはなった。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/41
42: デフォルトの名無しさん (ワッチョイ a7ae-H/EM) [] 2025/09/26(金) 17:27:17.64 ID:mAe57PPo0 プログラム内にデータ組み込んじゃってて使えないやつだろw http://mevius.5ch.net/test/read.cgi/tech/1753252201/42
43: デフォルトの名無しさん (ワッチョイ ff44-Z3W9) [] 2025/09/26(金) 18:19:46.34 ID:KFYhndY80 今のprintfはコンパイル時にパラメータtypeチェックまでやってて 安心だけど気持ち悪さもあるw http://mevius.5ch.net/test/read.cgi/tech/1753252201/43
44: デフォルトの名無しさん (ワッチョイ ffc1-d2qd) [sage] 2025/09/26(金) 19:32:39.45 ID:jSwTkQnE0 printf(null); http://mevius.5ch.net/test/read.cgi/tech/1753252201/44
45: デフォルトの名無しさん (ワッチョイ 1e2a-ljyC) [] 2025/09/26(金) 19:46:41.37 ID:cwuxLqkb0 $ gcc printf_null.c printf_null.c: 関数 ‘main’ 内: printf_null.c:4:10: エラー: ‘null’ が宣言されていません (この関数内での最初の使 用) 4 | printf(null); | ^~~~ http://mevius.5ch.net/test/read.cgi/tech/1753252201/45
46: デフォルトの名無しさん (ワッチョイ 9536-lTrX) [sage] 2025/09/28(日) 12:37:58.28 ID:l7keiZEP0 printfに謝れ http://mevius.5ch.net/test/read.cgi/tech/1753252201/46
47: デフォルトの名無しさん (スフッ Sd43-LKjL) [] 2025/09/30(火) 09:15:55.03 ID:RGUapuF/d Mingw の mkdir には mkdir(path, mode) mkdir(path) があるけど Windowsにmodeが意味ないのはわかるけど 一緒にしといて欲しかった http://mevius.5ch.net/test/read.cgi/tech/1753252201/47
48: デフォルトの名無しさん (ワッチョイ d9e7-ayY8) [] 2025/10/12(日) 01:15:00.07 ID:DKsy7+ZR0 >>47 mingw系はあまり知らぬのだが…それでも一般論として設計の筋が悪いことはわかる mingw(or 今流行りはフォークの-64だっけ?)はlinux上でwinターゲット、あるいは(こっちも可能だけど少数派?)win上でlinuxターゲットのバイナリを吐くためのものなので、なおさらそうだろう たとい無意味なmode引数であれ、プロトタイプを同一にするために受け付けるべきだろう 要らぬのならば捨てよ、互換性が何より優先されることだ 捨てて困るなら独自に解釈して適当なマップしなさい 最小例として ``` int my_mkdir(char const restrict * path, [[maybe_unused]] mode_t mode) { return mkdir(mode); //mingwのmkdir } ``` もしmode捨てて困り、アホほど暇なら、独自にmodeを解釈してntfsの同等物へ適切にマップしなさい そしてその場合でも人が無用に混乱せぬように、その意図を以上のようなラッパでも書きなさい http://mevius.5ch.net/test/read.cgi/tech/1753252201/48
49: デフォルトの名無しさん (ワッチョイ 0b3c-ayY8) [] 2025/10/12(日) 06:33:04.28 ID:mEdnxwe/0 そういやmsvcの_mkdirもconst char * pathの1引数だな >>24 初めに文字数を数えた後(固定ならstrlenでもformat directiveで変わるならsnprintfとかでも)、printfの返り値との差をとり0にならないならば全て正しく書き込めてない 文字列を指すポインタを書き込めた数だけ増分した後に、先に得た差の分だけもう一度書き込む http://mevius.5ch.net/test/read.cgi/tech/1753252201/49
50: デフォルトの名無しさん (ワッチョイ 0b3c-ayY8) [] 2025/10/12(日) 06:48:57.50 ID:mEdnxwe/0 もちろん2回以上も失敗しえるからループで回して返り値が0になるまで、あるいはretry回すこと また負値が出たら当然exit()すること 私はstdarg.hを使って int printf_ensure(const char restrict * fmt, size_t retry, ...); のようなプロトタイプにしている (retryが0ならば無限試行) 速度が問題でない場合、あるいは開発中は全部コレでprintfやputs差し替えたっていい マクロでトークンprintfをprintf/printf_ensureで切り替えられるようにしておくとなおよい http://mevius.5ch.net/test/read.cgi/tech/1753252201/50
51: デフォルトの名無しさん (ワッチョイ 51da-5Sj8) [] 2025/10/14(火) 00:04:27.04 ID:/oJzs4X00 Cのマクロでテンプレート(ジェネリクス)もどき。 C11以降で使える総称選択(_Generic)はジェネリクスというよりオーバーロード。 やっぱりCにもテンプレート欲しい。 (記憶が確かならC++のテンプレートは関数スコープ限定のマクロみたいな仕組みで、コンパイル時に型決定するのでパフォーマンスに影響しなかったはず) #include<stdio.h> #include<stdlib.h> #define N 5 #define MT int #define MV int #define PT int #define PF "%d," void mymap(MV (*)(MT), const MT*, const int, MV*); void print(const PT*, const int); MV inc(const MT); 関数の頭文字(または関数名)+(T,V,U)な命名規則で#defineする。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/51
52: デフォルトの名無しさん (ワッチョイ 7b97-CBs3) [sage] 2025/10/14(火) 01:00:24.48 ID:eWh2Zlis0 c++の必要なとこだけ使えばいいだろ http://mevius.5ch.net/test/read.cgi/tech/1753252201/52
53: デフォルトの名無しさん (ワッチョイ 51da-5Sj8) [] 2025/10/14(火) 07:01:23.65 ID:/oJzs4X00 やっぱそうなるよね。 まあ、組み込みとか必ずしもC++があるとは限らない環境でなんちゃってテンプレートの例みたいな感じで。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/53
54: デフォルトの名無しさん (ワッチョイ 8bcf-fkyq) [sage] 2025/10/14(火) 07:43:06.49 ID:sdOVA3sO0 c++が使えないけど最新のcが使える環境ってのもレアじゃね? 大抵c89、運が良くてc99 http://mevius.5ch.net/test/read.cgi/tech/1753252201/54
55: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ d132-+CJe) [sage] 2025/10/14(火) 09:00:12.91 ID:7xcmZphY0 Z80 がターゲットでもモダンな C コンパイラがあるよ。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/55
56: デフォルトの名無しさん (ワッチョイ 291a-BKKF) [] 2025/10/14(火) 09:51:45.01 ID:XRQnYg770 マイコン用ならC健在だろ http://mevius.5ch.net/test/read.cgi/tech/1753252201/56
57: デフォルトの名無しさん (ワッチョイ c921-oeTl) [] 2025/10/14(火) 12:31:26.84 ID:bZlqEbcX0 そういう用途ならRust一択 http://mevius.5ch.net/test/read.cgi/tech/1753252201/57
58: デフォルトの名無しさん (ワッチョイ 51da-5Sj8) [] 2025/10/14(火) 17:14:48.06 ID:/oJzs4X00 >>54 一応、なんちゃってテンプレートはC89でも使える。 >>57 Rust処理系あるならそっちのが良いけど、まだCPU選ぶんだよね…。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/58
59: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ d132-kl/1) [sage] 2025/10/14(火) 17:59:04.47 ID:7xcmZphY0 演算子オーバーロードを使えるように拡張した C 処理系は知ってるけどテンプレートは見たことないなぁ…… 色々な機能がお互いに関連するだろうし、テンプレートだけをポンと入れられるようなもんでもないと思う。 C を経由してコンパイルするタイプの言語 (処理系) でパラメトリック多相を使えるものを検討したらどうだろう。 nim あたりなら組み込みシステムにも使えるんじゃないか? 知らんけど。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/59
60: デフォルトの名無しさん (ワッチョイ 51da-5Sj8) [] 2025/10/15(水) 07:14:26.88 ID:wJCBzpoD0 思えば、C++ない組み込みだったらそもそも浮動小数点数をが無いし、charは文字型と同時に1バイトの整数型だから最悪long型で作れば暗黙的型変換で行けるわ。 組み込みでC++あるならテンプレート+Cで速度も落とさず行ける。 (C++はCより2倍遅い) とはいえ、仕事だとC++の既存資産を無視するわけにも行かんか。 理論上、密結合なOOPより疎結合な高階関数の方が再利用性高いとはいえ、一から作ったんじゃ開発速度が犠牲になる。 現実はかくも難しい…。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/60
61: デフォルトの名無しさん (ワッチョイ 7b4c-CBs3) [sage] 2025/10/15(水) 09:31:18.63 ID:fds2kZQR0 cコンパイラしかないようなマイコンなんてコードの規模小さいだろ 余計なことせずに愚直に書いとけ http://mevius.5ch.net/test/read.cgi/tech/1753252201/61
62: デフォルトの名無しさん (ササクッテロラ Sp05-hV0x) [sage] 2025/10/15(水) 15:50:44.46 ID:w9oCtp+dp いまどきのマイコンはpythonだって使えるだろうに http://mevius.5ch.net/test/read.cgi/tech/1753252201/62
63: デフォルトの名無しさん (ワッチョイ d146-V6kF) [sage] 2025/10/15(水) 17:37:28.97 ID:i/5qI1MW0 メモリー64kBでもいける? http://mevius.5ch.net/test/read.cgi/tech/1753252201/63
64: デフォルトの名無しさん (ワッチョイ 0b02-ayY8) [] 2025/10/15(水) 18:42:39.89 ID:9wU7ax+y0 何百円、あるいは何千円の石の話だよ 一個¥10の石ならまだまだcかアセンブラしか無理だろ http://mevius.5ch.net/test/read.cgi/tech/1753252201/64
65: デフォルトの名無しさん (ワッチョイ 0b02-ayY8) [] 2025/10/15(水) 18:45:39.97 ID:9wU7ax+y0 まあ趣味で一つプログラムするならなんでもいいけど ある程度量産するならコスパが十倍-百倍違うのは致命的 http://mevius.5ch.net/test/read.cgi/tech/1753252201/65
66: デフォルトの名無しさん (ワッチョイ 51da-5Sj8) [] 2025/10/15(水) 20:40:36.66 ID:wJCBzpoD0 >>63 多すぎる。 512Bとか256B(1kBすらも無い)とかがCやアセンブラしかない世界。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/66
67: デフォルトの名無しさん (ワッチョイ d1d4-V6kF) [sage] 2025/10/16(木) 18:01:41.31 ID:J2Om8XvC0 我が家みたいだ http://mevius.5ch.net/test/read.cgi/tech/1753252201/67
68: デフォルトの名無しさん (ワッチョイ 7bf0-CBs3) [sage] 2025/10/16(木) 18:37:01.53 ID:CvxVt5ew0 >>66 そのマイコンの型番教えてくれ http://mevius.5ch.net/test/read.cgi/tech/1753252201/68
69: デフォルトの名無しさん (ワッチョイ 51da-5Sj8) [] 2025/10/16(木) 20:29:12.39 ID:Aijr1hHS0 マイコンってかマイクロコントローラーだけどPICとかAtmelとかでいっぱい見かけるよ。 1個10円とかのは大体マイクロコントローラー。 秋月電子のストアならデータシートのPDFをDL出来るんで、細かい仕様はそれを見る。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/69
70: デフォルトの名無しさん (ワッチョイ 1920-oeTl) [sage] 2025/10/17(金) 00:24:14.63 ID:H6PCthuK0 >>68 https://akizukidenshi.com/catalog/g/g104575/ ↑とか https://akizukidenshi.com/catalog/g/g127731/ ↑とかRAM控えめだぞ http://mevius.5ch.net/test/read.cgi/tech/1753252201/70
71: デフォルトの名無しさん (ワッチョイ d93b-8Mv9) [] 2025/10/18(土) 01:03:37.15 ID:QXVDdQSx0 >>66 そんなんじゃprintfすら作れないよw http://mevius.5ch.net/test/read.cgi/tech/1753252201/71
72: デフォルトの名無しさん (ワッチョイ d19f-WLnR) [sage] 2025/10/18(土) 04:22:07.50 ID:dGhvIuNM0 シリアルコンソールもない規模なのにどこにprintfするんだ http://mevius.5ch.net/test/read.cgi/tech/1753252201/72
73: デフォルトの名無しさん (ワッチョイ 7bea-CBs3) [sage] 2025/10/18(土) 06:34:34.64 ID:14jVJINw0 いまだにprintfデバッグやってるジジイ http://mevius.5ch.net/test/read.cgi/tech/1753252201/73
74: デフォルトの名無しさん (ワッチョイ 7b4d-0CEO) [sage] 2025/10/18(土) 11:43:31.92 ID:VPIL6AOJ0 > 256B 関数(サブルーチン)1個作って終了だな。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/74
75: デフォルトの名無しさん (ワッチョイ 0b19-hV0x) [sage] 2025/10/18(土) 12:08:07.87 ID:BOmFuCmI0 >>63 Cマガの付録のLSI-C試食版ではタイニーモデルは出力できなかったな http://mevius.5ch.net/test/read.cgi/tech/1753252201/75
76: デフォルトの名無しさん (アウアウウー Sadd-hV0x) [sage] 2025/10/18(土) 12:10:03.61 ID:ZlX7tru0a メモリが64Kではタイニーも動かないか… http://mevius.5ch.net/test/read.cgi/tech/1753252201/76
77: デフォルトの名無しさん (ワッチョイ 0b02-ayY8) [] 2025/10/18(土) 12:34:26.68 ID:fcM0D1al0 >>73 gdbも使いはするが ちゃんとfflushするか、ちゃんとstderrへのfprintfで記録取る限りにおいて、printfデバッグは今でも十分役立つと思うが むしろデバッガと相補的 http://mevius.5ch.net/test/read.cgi/tech/1753252201/77
78: デフォルトの名無しさん (ワッチョイ 0b02-ayY8) [] 2025/10/18(土) 12:40:57.58 ID:fcM0D1al0 >>69 個人趣味レベルでもある程度量産することはあるからね マイコン価格には十円単位で気を使ってるよ あなたのいうPICキットには1台で次々沢山焼く機能あるしな、数百個くらいは余裕 >>65だけど100個焼く石がもし数百-千円クラスなら普通に万-10万消えて泣ける http://mevius.5ch.net/test/read.cgi/tech/1753252201/78
79: デフォルトの名無しさん (ワッチョイ 8b10-V6kF) [sage] 2025/10/18(土) 13:05:23.67 ID:VGmkc9k80 量産して売るのか? http://mevius.5ch.net/test/read.cgi/tech/1753252201/79
80: デフォルトの名無しさん (ワッチョイ 0b02-ayY8) [] 2025/10/18(土) 13:10:13.42 ID:fcM0D1al0 いやプロとかしゃなくて同人即売会で売るレベルですはい それでも百個くらいは要るでしょ http://mevius.5ch.net/test/read.cgi/tech/1753252201/80
81: デフォルトの名無しさん (ワッチョイ 315f-hV0x) [sage] 2025/10/18(土) 14:09:15.39 ID:nzcjRHht0 デバッグは、Lチカの有無で地道にやるんだよな http://mevius.5ch.net/test/read.cgi/tech/1753252201/81
82: デフォルトの名無しさん (ワッチョイ f98d-tYC9) [] 2025/10/19(日) 19:31:28.29 ID:+nDAwDri0 >>66 コードセグメントデータセグメントが1kb単位でしか指定できなくて発狂 http://mevius.5ch.net/test/read.cgi/tech/1753252201/82
83: デフォルトの名無しさん (ワッチョイ 3110-bIaP) [] 2025/11/08(土) 09:43:07.20 ID:rVUu3J9Q0 C99はitoa無くなったん? なんで? http://mevius.5ch.net/test/read.cgi/tech/1753252201/83
84: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ed32-fyY6) [sage] 2025/11/08(土) 10:25:48.38 ID:Ed4kLbQS0 >>83 無くなったというか規格に入ったことはないはず。 POSIX (やその後継である SUS) にも無い。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/84
85: デフォルトの名無しさん (ササクッテロラ Spf1-3Voz) [sage] 2025/11/08(土) 10:47:36.79 ID:fNGE7Dndp そもそもCで文字列操作する気にならない http://mevius.5ch.net/test/read.cgi/tech/1753252201/85
86: デフォルトの名無しさん (ワッチョイ 819f-Ou1F) [sage] 2025/11/08(土) 10:57:45.77 ID:sZf9RtQU0 でもUNIXのI/Oは基本バイトストリームで文字列指向だから切り離せないでしょ? 基盤やライブラリがやることだから低レベルに書きたくないんならわかる http://mevius.5ch.net/test/read.cgi/tech/1753252201/86
87: デフォルトの名無しさん (ササクッテロラ Spf1-3Voz) [sage] 2025/11/08(土) 11:15:17.81 ID:fNGE7Dndp C全盛期にインターネットが一般的になってたら 有名なライブラリがその辺りを補完しまくってくれたのかなぁ http://mevius.5ch.net/test/read.cgi/tech/1753252201/87
88: デフォルトの名無しさん (ワッチョイ 797b-/c0i) [sage] 2025/11/08(土) 12:09:11.14 ID:+ABJpypp0 >>85 ACSIIで固定長なら何も問題ない。そしてbash等はそれで出来てた。 utf-8で可変長(=今の一般的なstring)なんてCでやると死ねるだけ。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/88
89: デフォルトの名無しさん (ワッチョイ 2e10-a4Xf) [sage] 2025/11/08(土) 14:42:52.89 ID:05Df+FUf0 スクリプトで処理することも多いし 基本は文字列で扱うな http://mevius.5ch.net/test/read.cgi/tech/1753252201/89
90: デフォルトの名無しさん (ワッチョイ 42ad-bIaP) [] 2025/11/08(土) 16:40:45.22 ID:L8SrJpz20 itoa() というか、数値から文字列への変換となると文字列の長さがどうなるか分からないから消滅したのでは? かといって sprintf() は健在だが、おすすめは snprintf() だな。(GNUだと asprintf() ってのもあるな) http://mevius.5ch.net/test/read.cgi/tech/1753252201/90
91: デフォルトの名無しさん (ワッチョイ 797b-/c0i) [sage] 2025/11/08(土) 18:49:14.49 ID:+ABJpypp0 sprintfのbuffer*にヌルポを指定するとbufferに書き出さず単に出来上がり文字列の長さだけ返す、 みたいな仕様があったと思ったが、かなり特定環境の話かこれ? (他関数と勘違いしてるかもだが、思い出せないし、ググッてもよく分からん) http://mevius.5ch.net/test/read.cgi/tech/1753252201/91
92: デフォルトの名無しさん (ワッチョイ c168-rHLw) [sage] 2025/11/08(土) 19:24:13.72 ID:NSK/JYYK0 snprintfの返り値がそういう動作だから 長さだけがほしいときヌルポじゃなくバッファ長を0にする manpageを信用するとだいたいは叶うけど昔のSUSv2ではエラーと書いてるね http://mevius.5ch.net/test/read.cgi/tech/1753252201/92
93: デフォルトの名無しさん (ワッチョイ 797b-/c0i) [sage] 2025/11/08(土) 20:00:28.59 ID:+ABJpypp0 それは多分、推奨が変わって、それに合わせてmanページも書き換えられただけではないかと。 MSにはscprintfという、長さだけを返す関数が用意されている。 (s*printfのbufferがヌルポだとエラー、おそらく型チェックを厳しくする為に分離したのではないかと) https://learn.microsoft.com/ja-jp/cpp/c-runtime-library/reference/scprintf-scprintf-l-scwprintf-scwprintf-l?view=msvc-170 http://mevius.5ch.net/test/read.cgi/tech/1753252201/93
94: デフォルトの名無しさん (ワッチョイ 9f98-DX0k) [sage] 2025/11/09(日) 15:49:06.10 ID:BHEHF4AV0 長さって言うと、バイト数か文字数かで悩む http://mevius.5ch.net/test/read.cgi/tech/1753252201/94
95: デフォルトの名無しさん (ササクッテロラ Spf3-7str) [sage] 2025/11/09(日) 15:56:50.51 ID:avBvNiuDp マルチバイト文字なんてC言語が考慮してるはずが無いだろ 全部外部関数だからなあれら http://mevius.5ch.net/test/read.cgi/tech/1753252201/95
96: デフォルトの名無しさん (ワッチョイ 9f98-DX0k) [sage] 2025/11/09(日) 17:54:10.57 ID:BHEHF4AV0 どの範囲が内部関数なんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1753252201/96
97: デフォルトの名無しさん (ワッチョイ 1f7b-Y7Iz) [sage] 2025/11/09(日) 18:08:54.56 ID:rjZkXEAW0 stdio.h等、K&Rに記載されてる範囲じゃね? (勿論sprintfも記載あり) http://mevius.5ch.net/test/read.cgi/tech/1753252201/97
98: デフォルトの名無しさん (ワッチョイ 1f46-b1F3) [sage] 2025/11/09(日) 18:38:57.72 ID:1hA+Ej0k0 こういうときK&R持ち出してくる意図がわからん 80年代で頭が止まってるのか愉快犯なのか http://mevius.5ch.net/test/read.cgi/tech/1753252201/98
99: デフォルトの名無しさん (ワッチョイ 1f7b-Y7Iz) [sage] 2025/11/09(日) 19:57:32.76 ID:rjZkXEAW0 俺は80年代で頭が止まってるが、K&Rは今でも名著で読む価値があるのも事実だろ (というかCが変わって無さ過ぎなだけだが) Zにはドラゴンボールハラスメントなのかもだが http://mevius.5ch.net/test/read.cgi/tech/1753252201/99
100: デフォルトの名無しさん (ワッチョイ 7f2a-Nex0) [] 2025/11/09(日) 20:21:54.18 ID:ZW4cfheS0 今どきK&Rかよ! てのは昔からいる。超カンタン○○言語なんてのを有り難がるのだけど、なぜか原典の類いには絶対当たらない。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/100
101: デフォルトの名無しさん (ワッチョイ 1f7b-Y7Iz) [sage] 2025/11/09(日) 20:36:39.24 ID:rjZkXEAW0 得る知識量/文字数、というZ的コスパなら、K&Rに勝る本は他のプログラミング言語含めても無いよな その分端折りまくりだし、そもそも既にプログラミング出来る人向けに書かれているので、初心者には向かないが しかし本来は、K&Rに勝る本を誰かが書いて、葬ってやるべきなのだろうけど、 あれ以上エッセンスだけ凝縮するのも無理よねって事で今に至るわけだし http://mevius.5ch.net/test/read.cgi/tech/1753252201/101
102: デフォルトの名無しさん (ワッチョイ 1f46-b1F3) [sage] 2025/11/09(日) 20:48:05.83 ID:1hA+Ej0k0 標準ライブラリの話なのに何とんちんかんなこといってんの 準拠してる規格か処理系そのものに依存するから古典みてもわからんでしょ 当時の知識でもヘッダやライブラリの場所から当たりはつくけどな http://mevius.5ch.net/test/read.cgi/tech/1753252201/102
103: デフォルトの名無しさん (ワッチョイ 1f7b-Y7Iz) [sage] 2025/11/09(日) 20:58:39.28 ID:rjZkXEAW0 >>102 ならお前が>>96に対する、俺より分かりやすい回答を出せば済んだ話だろ それもせず、とんちんかんな方向のレス付けたのはお前自身なのに、他人のせいにする所はZ仕草か まあ話を戻す気があるなら、とりあえず>>96に回答して、その分かりやすさを俺97と競うべきだよ それも出来ないなら、ああやっぱりZは、と言われ続けても仕方ないだろうよ http://mevius.5ch.net/test/read.cgi/tech/1753252201/103
104: デフォルトの名無しさん (ワッチョイ 9f45-rgYF) [] 2025/11/09(日) 21:03:11.42 ID:LFf9m6Ev0 K&R馬鹿にしてるのもZ連呼してるのも傍から見てたらどっちもアホですわ http://mevius.5ch.net/test/read.cgi/tech/1753252201/104
105: デフォルトの名無しさん (ワッチョイ 1f46-b1F3) [sage] 2025/11/09(日) 21:10:40.56 ID:1hA+Ej0k0 バカにはしてないむしろ信奉者だし アホなのはそのとおり ウソが知識不足からか故意なのか気になっただけ 書けば質問者への気づきにもなるしな http://mevius.5ch.net/test/read.cgi/tech/1753252201/105
106: デフォルトの名無しさん (ワッチョイ 1f7b-Y7Iz) [sage] 2025/11/09(日) 21:24:36.18 ID:rjZkXEAW0 >>104 だからそういうのは要らねえから、さっさとお前流の>>96に対する回答を書いて勝負すればいいわけ というかね、完全に脱線するが、 例の非韓三原則「韓国人には、教えない、助けない、関わらない」とか、 Kの法則、「韓国(人)に関わると不幸になる」というの、ありゃ何だろうなと思ってたんだが、 数年前には俺なりに結論が出てしまった あれはな、連中は、「自分を上げるのではなく、他人を下げる事」しかしないからなんだ そして、ゆとりやZも同様の傾向があるから、そうならないように意識して注意した方がいい それはお互い足を引っ張り合ってるだけであって、高める方向ではないから 今回もそうだろ、他人にケチを付けるだけで、自分でよりよい回答を出そうとはしない だから結果的に、よりよい回答を得られる機会を失い、罵りあう状況を生み出してる 受け方を間違えなければ本来プラスに持っていけた所が、マイナスになってしまってる ここら辺が、ゆとりやZがコミュ障で困る部分なんだよ だからお前達は自分達世代だけではマトモに会話出来る場所を持てず、 年上世代が蔓延る5chに寄生するしかなくなってる その辺もちゃんと自覚した方がいい 5chで偉そうに講釈垂れつつ、裏で必死にググって理論武装しつつ、という俺ら世代の馬鹿共も、 この点はゆとりやZとは正反対で、きちんとプラス方向に寄与してたわけ だから5chは生き残って来れてるわけでね >>105 同上。 http://mevius.5ch.net/test/read.cgi/tech/1753252201/106
107: デフォルトの名無しさん (ワッチョイ 7f94-u/J9) [] 2025/11/09(日) 21:55:55.88 ID:iuqP4JEu0 そもそもCで外部内部関数なんて概念がナンセンスだろ http://mevius.5ch.net/test/read.cgi/tech/1753252201/107
108: デフォルトの名無しさん (ワッチョイ 1f7b-Y7Iz) [sage] 2025/11/09(日) 22:22:11.91 ID:rjZkXEAW0 >>107 今回の文脈は、 94: マルチバイト文字ガー 95(≠俺): それらは全部外部関数(≒内部関数はシングルバイト対応のみ) 96: なら内部関数ってどこまで? なので、馬鹿でなく、正面から乗ってやるなら、お前なりの線引きを答えてどうぞ 質問が無効なので回答しようがない!ってのは、スカしてイケてるつもりの馬鹿がよくやるパターンだ こいつらも、コミュ的には迷惑なだけ 95の「外部関数」が問題だとするなら、 95よりも分かりやすく、95の代替になる回答を用意するように心掛ければ済むだけ 出来ないのなら、黙っておく方がいい C言語の仕様として「内部/外部の区別がない」とか、別方向にウンチクを垂れるのならどうぞだが http://mevius.5ch.net/test/read.cgi/tech/1753252201/108
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s