C言語なら俺に聞け 164

2025/07/23(水) 15:30:01.81ID: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
2025/09/20(土) 14:31:14.70ID:OerDkwpVa
SIGPIPEか
28デフォルトの名無しさん (アウアウウー Sa53-ilUi)
垢版 |
2025/09/20(土) 16:58:37.16ID:VevbIipia
特定の実装でたまたまそうだったからと言って
全ての実装でそうなっているかどうかは別の話
優しくしてね
2025/09/20(土) 17:25:51.73ID:1eZiY7gC0
霊界通信だな
2025/09/20(土) 17:26:59.16ID:+Sf+AUyNM
ID:I8uDgIdj0 このprintfじじい何言おうとしたか忘れたな
31デフォルトの名無しさん (ワッチョイ 0af8-p2ny)
垢版 |
2025/09/21(日) 04:07:46.37ID:Obb0mglL0
内部通報で無理なので犯罪者通報

暗黒状態の量子もつれを生成することに成功:世界初の快挙
公開日2025.09.10 18:30:27 WEDNESDAY
https://nazology.kusuguru.co.jp/archives/184832
>>量子もつれが非常に壊れやすく、外界のノイズ(熱の揺らぎや周囲からの電磁波など)によって簡単に消えてしまうことです。
>>このノイズによる量子もつれの崩壊現象は「デコヒーレンス」と呼ばれ、量子技術が実験室の外で広く実用化されるのを妨げる最大の壁となってきました。

・どうやって地上で行えるのですか?
・ 嵐の中や甘風が強い中での車での走行中などどうやって維持しているのかな
・UFOは重力県内でテレポートしている偽物だろう?

・統合失調症から見て犯人不明で周囲の人は知っているかもしれませんが宇宙人だと名乗っているのとテレポート技術を所持している
・7人殺害した
・お前で埴鎮目だ
・殺害した人野事を晩酌で高笑いをしている
・お前「被害者=統合失調症=24実感365日幻聴などの幻覚あり」を人質に立てこもる
・絶対に殺させる「自殺か殺人かは不明ですがさせる」
・コロな症状を引き起こせる
※など上記の事を話してきた

ここにも愉快犯の犯人組織が居るだろう!
32デフォルトの名無しさん (ワッチョイ 07cf-Z3W9)
垢版 |
2025/09/23(火) 07:07:11.79ID:yrK5wSNc0
そもそもprintfなんて初心者しか見ないからなw
33デフォルトの名無しさん (ワッチョイ 6aee-lG8I)
垢版 |
2025/09/23(火) 07:49:44.65ID:qmWEk+ay0
まじかよ20年以上使ってる俺は恥知らずかなんかなのか?
printfファミリーは標準ライブラリではぶっちぎりのイケメンだと思うんだが
何年か前に買ったマイスターシュテックって万年筆にも「snprintf」って名入れしたくらいだし
ちなみに標準ライブラリで次に好きなのはsize_t型とNULLマクロ
2025/09/23(火) 14:22:38.23ID:Opf++eei0
printfはスピートが遅いからなあ
2025/09/24(水) 12:40:37.19ID:fylTkn+t0
組み込みでも無い限りらprintfで充分だろ
2025/09/24(水) 19:27:33.73ID:Z7gG6kHJ0
printfじゃないならなに使うの?
2025/09/24(水) 20:03:29.17ID:cUnaCE/P0
printf多用する場面ってそんな速度必要か?
テキスト表示のアクションゲームでも作るんか?
2025/09/24(水) 20:34:19.07ID:EXobIxwL0
ちなgccならputsに置き換え可能なら勝手に置き換える
2025/09/26(金) 13:37:49.15ID:XlYbxwe30
今時プアなマシン使っているので無い限り
実行速度難敵にする奴いないだろう
2025/09/26(金) 16:32:57.14ID:ePhQUwKm0
プアなマシンを使っているのでやっぱつれぇわ
2025/09/26(金) 17:25:52.87ID:jSwTkQnE0
かつてプアだった頃、他の奴が16ビットPC使っている中自分だけ8ビットPC(nec PC8001mk2)使って蔵書管理プログラム書き上げたな。漢字も扱えてたよ。出力はEPSONのMP80というカナ印字ドットインパクト、これの1/2ドット改行隠しコマンド見つけて16ドット漢字出力させてた。漢字ROMからのイメージ取得や展開にアセンブラも使用。実用性は殆どないが、勉強にはなった。
42デフォルトの名無しさん (ワッチョイ a7ae-H/EM)
垢版 |
2025/09/26(金) 17:27:17.64ID:mAe57PPo0
プログラム内にデータ組み込んじゃってて使えないやつだろw
43デフォルトの名無しさん (ワッチョイ ff44-Z3W9)
垢版 |
2025/09/26(金) 18:19:46.34ID:KFYhndY80
今のprintfはコンパイル時にパラメータtypeチェックまでやってて
安心だけど気持ち悪さもあるw
2025/09/26(金) 19:32:39.45ID:jSwTkQnE0
printf(null);
45デフォルトの名無しさん (ワッチョイ 1e2a-ljyC)
垢版 |
2025/09/26(金) 19:46:41.37ID:cwuxLqkb0
$ gcc printf_null.c
printf_null.c: 関数 ‘main’ 内:
printf_null.c:4:10: エラー: ‘null’ が宣言されていません (この関数内での最初の使
用)
  4 |  printf(null);
   |     ^~~~
2025/09/28(日) 12:37:58.28ID:l7keiZEP0
printfに謝れ
47デフォルトの名無しさん (スフッ Sd43-LKjL)
垢版 |
2025/09/30(火) 09:15:55.03ID:RGUapuF/d
Mingw の mkdir には
mkdir(path, mode)
mkdir(path)
があるけど
Windowsにmodeが意味ないのはわかるけど
一緒にしといて欲しかった
48デフォルトの名無しさん (ワッチョイ d9e7-ayY8)
垢版 |
2025/10/12(日) 01:15:00.07ID: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の同等物へ適切にマップしなさい

そしてその場合でも人が無用に混乱せぬように、その意図を以上のようなラッパでも書きなさい
49デフォルトの名無しさん (ワッチョイ 0b3c-ayY8)
垢版 |
2025/10/12(日) 06:33:04.28ID:mEdnxwe/0
そういやmsvcの_mkdirもconst char * pathの1引数だな

>>24
初めに文字数を数えた後(固定ならstrlenでもformat directiveで変わるならsnprintfとかでも)、printfの返り値との差をとり0にならないならば全て正しく書き込めてない
文字列を指すポインタを書き込めた数だけ増分した後に、先に得た差の分だけもう一度書き込む
50デフォルトの名無しさん (ワッチョイ 0b3c-ayY8)
垢版 |
2025/10/12(日) 06:48:57.50ID: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で切り替えられるようにしておくとなおよい
51デフォルトの名無しさん (ワッチョイ 51da-5Sj8)
垢版 |
2025/10/14(火) 00:04:27.04ID:/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する。
2025/10/14(火) 01:00:24.48ID:eWh2Zlis0
c++の必要なとこだけ使えばいいだろ
53デフォルトの名無しさん (ワッチョイ 51da-5Sj8)
垢版 |
2025/10/14(火) 07:01:23.65ID:/oJzs4X00
やっぱそうなるよね。
まあ、組み込みとか必ずしもC++があるとは限らない環境でなんちゃってテンプレートの例みたいな感じで。
2025/10/14(火) 07:43:06.49ID:sdOVA3sO0
c++が使えないけど最新のcが使える環境ってのもレアじゃね?
大抵c89、運が良くてc99
2025/10/14(火) 09:00:12.91ID:7xcmZphY0
Z80 がターゲットでもモダンな C コンパイラがあるよ。
56デフォルトの名無しさん (ワッチョイ 291a-BKKF)
垢版 |
2025/10/14(火) 09:51:45.01ID:XRQnYg770
マイコン用ならC健在だろ
57デフォルトの名無しさん (ワッチョイ c921-oeTl)
垢版 |
2025/10/14(火) 12:31:26.84ID:bZlqEbcX0
そういう用途ならRust一択
58デフォルトの名無しさん (ワッチョイ 51da-5Sj8)
垢版 |
2025/10/14(火) 17:14:48.06ID:/oJzs4X00
>>54
一応、なんちゃってテンプレートはC89でも使える。

>>57
Rust処理系あるならそっちのが良いけど、まだCPU選ぶんだよね…。
2025/10/14(火) 17:59:04.47ID:7xcmZphY0
演算子オーバーロードを使えるように拡張した C 処理系は知ってるけどテンプレートは見たことないなぁ……
色々な機能がお互いに関連するだろうし、テンプレートだけをポンと入れられるようなもんでもないと思う。

C を経由してコンパイルするタイプの言語 (処理系) でパラメトリック多相を使えるものを検討したらどうだろう。
nim あたりなら組み込みシステムにも使えるんじゃないか? 知らんけど。
60デフォルトの名無しさん (ワッチョイ 51da-5Sj8)
垢版 |
2025/10/15(水) 07:14:26.88ID:wJCBzpoD0
思えば、C++ない組み込みだったらそもそも浮動小数点数をが無いし、charは文字型と同時に1バイトの整数型だから最悪long型で作れば暗黙的型変換で行けるわ。
組み込みでC++あるならテンプレート+Cで速度も落とさず行ける。
(C++はCより2倍遅い)

とはいえ、仕事だとC++の既存資産を無視するわけにも行かんか。
理論上、密結合なOOPより疎結合な高階関数の方が再利用性高いとはいえ、一から作ったんじゃ開発速度が犠牲になる。
現実はかくも難しい…。
2025/10/15(水) 09:31:18.63ID:fds2kZQR0
cコンパイラしかないようなマイコンなんてコードの規模小さいだろ
余計なことせずに愚直に書いとけ
2025/10/15(水) 15:50:44.46ID:w9oCtp+dp
いまどきのマイコンはpythonだって使えるだろうに
2025/10/15(水) 17:37:28.97ID:i/5qI1MW0
メモリー64kBでもいける?
64デフォルトの名無しさん (ワッチョイ 0b02-ayY8)
垢版 |
2025/10/15(水) 18:42:39.89ID:9wU7ax+y0
何百円、あるいは何千円の石の話だよ
一個¥10の石ならまだまだcかアセンブラしか無理だろ
65デフォルトの名無しさん (ワッチョイ 0b02-ayY8)
垢版 |
2025/10/15(水) 18:45:39.97ID:9wU7ax+y0
まあ趣味で一つプログラムするならなんでもいいけど
ある程度量産するならコスパが十倍-百倍違うのは致命的
66デフォルトの名無しさん (ワッチョイ 51da-5Sj8)
垢版 |
2025/10/15(水) 20:40:36.66ID:wJCBzpoD0
>>63
多すぎる。
512Bとか256B(1kBすらも無い)とかがCやアセンブラしかない世界。
2025/10/16(木) 18:01:41.31ID:J2Om8XvC0
我が家みたいだ
2025/10/16(木) 18:37:01.53ID:CvxVt5ew0
>>66
そのマイコンの型番教えてくれ
69デフォルトの名無しさん (ワッチョイ 51da-5Sj8)
垢版 |
2025/10/16(木) 20:29:12.39ID:Aijr1hHS0
マイコンってかマイクロコントローラーだけどPICとかAtmelとかでいっぱい見かけるよ。
1個10円とかのは大体マイクロコントローラー。
秋月電子のストアならデータシートのPDFをDL出来るんで、細かい仕様はそれを見る。
2025/10/17(金) 00:24:14.63ID:H6PCthuK0
>>68
https://akizukidenshi.com/catalog/g/g104575/
↑とか
https://akizukidenshi.com/catalog/g/g127731/
↑とかRAM控えめだぞ
71デフォルトの名無しさん (ワッチョイ d93b-8Mv9)
垢版 |
2025/10/18(土) 01:03:37.15ID:QXVDdQSx0
>>66
そんなんじゃprintfすら作れないよw
2025/10/18(土) 04:22:07.50ID:dGhvIuNM0
シリアルコンソールもない規模なのにどこにprintfするんだ
2025/10/18(土) 06:34:34.64ID:14jVJINw0
いまだにprintfデバッグやってるジジイ
2025/10/18(土) 11:43:31.92ID:VPIL6AOJ0
> 256B
関数(サブルーチン)1個作って終了だな。
2025/10/18(土) 12:08:07.87ID:BOmFuCmI0
>>63
Cマガの付録のLSI-C試食版ではタイニーモデルは出力できなかったな
2025/10/18(土) 12:10:03.61ID:ZlX7tru0a
メモリが64Kではタイニーも動かないか…
77デフォルトの名無しさん (ワッチョイ 0b02-ayY8)
垢版 |
2025/10/18(土) 12:34:26.68ID:fcM0D1al0
>>73
gdbも使いはするが
ちゃんとfflushするか、ちゃんとstderrへのfprintfで記録取る限りにおいて、printfデバッグは今でも十分役立つと思うが
むしろデバッガと相補的
78デフォルトの名無しさん (ワッチョイ 0b02-ayY8)
垢版 |
2025/10/18(土) 12:40:57.58ID:fcM0D1al0
>>69
個人趣味レベルでもある程度量産することはあるからね
マイコン価格には十円単位で気を使ってるよ
あなたのいうPICキットには1台で次々沢山焼く機能あるしな、数百個くらいは余裕
>>65だけど100個焼く石がもし数百-千円クラスなら普通に万-10万消えて泣ける
2025/10/18(土) 13:05:23.67ID:VGmkc9k80
量産して売るのか?
80デフォルトの名無しさん (ワッチョイ 0b02-ayY8)
垢版 |
2025/10/18(土) 13:10:13.42ID:fcM0D1al0
いやプロとかしゃなくて同人即売会で売るレベルですはい
それでも百個くらいは要るでしょ
2025/10/18(土) 14:09:15.39ID:nzcjRHht0
デバッグは、Lチカの有無で地道にやるんだよな
82デフォルトの名無しさん (ワッチョイ f98d-tYC9)
垢版 |
2025/10/19(日) 19:31:28.29ID:+nDAwDri0
>>66
コードセグメントデータセグメントが1kb単位でしか指定できなくて発狂
83デフォルトの名無しさん (ワッチョイ 3110-bIaP)
垢版 |
2025/11/08(土) 09:43:07.20ID:rVUu3J9Q0
C99はitoa無くなったん? なんで?
2025/11/08(土) 10:25:48.38ID:Ed4kLbQS0
>>83
無くなったというか規格に入ったことはないはず。
POSIX (やその後継である SUS) にも無い。
2025/11/08(土) 10:47:36.79ID:fNGE7Dndp
そもそもCで文字列操作する気にならない
2025/11/08(土) 10:57:45.77ID:sZf9RtQU0
でもUNIXのI/Oは基本バイトストリームで文字列指向だから切り離せないでしょ?
基盤やライブラリがやることだから低レベルに書きたくないんならわかる
2025/11/08(土) 11:15:17.81ID:fNGE7Dndp
C全盛期にインターネットが一般的になってたら
有名なライブラリがその辺りを補完しまくってくれたのかなぁ
2025/11/08(土) 12:09:11.14ID:+ABJpypp0
>>85
ACSIIで固定長なら何も問題ない。そしてbash等はそれで出来てた。
utf-8で可変長(=今の一般的なstring)なんてCでやると死ねるだけ。
2025/11/08(土) 14:42:52.89ID:05Df+FUf0
スクリプトで処理することも多いし
基本は文字列で扱うな
90デフォルトの名無しさん (ワッチョイ 42ad-bIaP)
垢版 |
2025/11/08(土) 16:40:45.22ID:L8SrJpz20
itoa() というか、数値から文字列への変換となると文字列の長さがどうなるか分からないから消滅したのでは?
かといって sprintf() は健在だが、おすすめは snprintf() だな。(GNUだと asprintf() ってのもあるな)
2025/11/08(土) 18:49:14.49ID:+ABJpypp0
sprintfのbuffer*にヌルポを指定するとbufferに書き出さず単に出来上がり文字列の長さだけ返す、
みたいな仕様があったと思ったが、かなり特定環境の話かこれ?
(他関数と勘違いしてるかもだが、思い出せないし、ググッてもよく分からん)
2025/11/08(土) 19:24:13.72ID:NSK/JYYK0
snprintfの返り値がそういう動作だから
長さだけがほしいときヌルポじゃなくバッファ長を0にする
manpageを信用するとだいたいは叶うけど昔のSUSv2ではエラーと書いてるね
2025/11/08(土) 20:00:28.59ID:+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
2025/11/09(日) 15:49:06.10ID:BHEHF4AV0
長さって言うと、バイト数か文字数かで悩む
2025/11/09(日) 15:56:50.51ID:avBvNiuDp
マルチバイト文字なんてC言語が考慮してるはずが無いだろ
全部外部関数だからなあれら
2025/11/09(日) 17:54:10.57ID:BHEHF4AV0
どの範囲が内部関数なんでしょうか?
2025/11/09(日) 18:08:54.56ID:rjZkXEAW0
stdio.h等、K&Rに記載されてる範囲じゃね?
(勿論sprintfも記載あり)
2025/11/09(日) 18:38:57.72ID:1hA+Ej0k0
こういうときK&R持ち出してくる意図がわからん
80年代で頭が止まってるのか愉快犯なのか
2025/11/09(日) 19:57:32.76ID:rjZkXEAW0
俺は80年代で頭が止まってるが、K&Rは今でも名著で読む価値があるのも事実だろ
(というかCが変わって無さ過ぎなだけだが)
Zにはドラゴンボールハラスメントなのかもだが
100デフォルトの名無しさん (ワッチョイ 7f2a-Nex0)
垢版 |
2025/11/09(日) 20:21:54.18ID:ZW4cfheS0
今どきK&Rかよ! てのは昔からいる。超カンタン○○言語なんてのを有り難がるのだけど、なぜか原典の類いには絶対当たらない。
2025/11/09(日) 20:36:39.24ID:rjZkXEAW0
得る知識量/文字数、というZ的コスパなら、K&Rに勝る本は他のプログラミング言語含めても無いよな
その分端折りまくりだし、そもそも既にプログラミング出来る人向けに書かれているので、初心者には向かないが

しかし本来は、K&Rに勝る本を誰かが書いて、葬ってやるべきなのだろうけど、
あれ以上エッセンスだけ凝縮するのも無理よねって事で今に至るわけだし
2025/11/09(日) 20:48:05.83ID:1hA+Ej0k0
標準ライブラリの話なのに何とんちんかんなこといってんの
準拠してる規格か処理系そのものに依存するから古典みてもわからんでしょ
当時の知識でもヘッダやライブラリの場所から当たりはつくけどな
2025/11/09(日) 20:58:39.28ID:rjZkXEAW0
>>102
ならお前が>>96に対する、俺より分かりやすい回答を出せば済んだ話だろ
それもせず、とんちんかんな方向のレス付けたのはお前自身なのに、他人のせいにする所はZ仕草か

まあ話を戻す気があるなら、とりあえず>>96に回答して、その分かりやすさを俺97と競うべきだよ
それも出来ないなら、ああやっぱりZは、と言われ続けても仕方ないだろうよ
104デフォルトの名無しさん (ワッチョイ 9f45-rgYF)
垢版 |
2025/11/09(日) 21:03:11.42ID:LFf9m6Ev0
K&R馬鹿にしてるのもZ連呼してるのも傍から見てたらどっちもアホですわ
2025/11/09(日) 21:10:40.56ID:1hA+Ej0k0
バカにはしてないむしろ信奉者だし
アホなのはそのとおり
ウソが知識不足からか故意なのか気になっただけ
書けば質問者への気づきにもなるしな
2025/11/09(日) 21:24:36.18ID:rjZkXEAW0
>>104
だからそういうのは要らねえから、さっさとお前流の>>96に対する回答を書いて勝負すればいいわけ


というかね、完全に脱線するが、
例の非韓三原則「韓国人には、教えない、助けない、関わらない」とか、
Kの法則、「韓国(人)に関わると不幸になる」というの、ありゃ何だろうなと思ってたんだが、
数年前には俺なりに結論が出てしまった

あれはな、連中は、「自分を上げるのではなく、他人を下げる事」しかしないからなんだ
そして、ゆとりやZも同様の傾向があるから、そうならないように意識して注意した方がいい
それはお互い足を引っ張り合ってるだけであって、高める方向ではないから

今回もそうだろ、他人にケチを付けるだけで、自分でよりよい回答を出そうとはしない
だから結果的に、よりよい回答を得られる機会を失い、罵りあう状況を生み出してる
受け方を間違えなければ本来プラスに持っていけた所が、マイナスになってしまってる
ここら辺が、ゆとりやZがコミュ障で困る部分なんだよ

だからお前達は自分達世代だけではマトモに会話出来る場所を持てず、
年上世代が蔓延る5chに寄生するしかなくなってる
その辺もちゃんと自覚した方がいい

5chで偉そうに講釈垂れつつ、裏で必死にググって理論武装しつつ、という俺ら世代の馬鹿共も、
この点はゆとりやZとは正反対で、きちんとプラス方向に寄与してたわけ
だから5chは生き残って来れてるわけでね

>>105
同上。
107デフォルトの名無しさん (ワッチョイ 7f94-u/J9)
垢版 |
2025/11/09(日) 21:55:55.88ID:iuqP4JEu0
そもそもCで外部内部関数なんて概念がナンセンスだろ
2025/11/09(日) 22:22:11.91ID:rjZkXEAW0
>>107
今回の文脈は、

94: マルチバイト文字ガー
95(≠俺): それらは全部外部関数(≒内部関数はシングルバイト対応のみ)
96: なら内部関数ってどこまで?

なので、馬鹿でなく、正面から乗ってやるなら、お前なりの線引きを答えてどうぞ
質問が無効なので回答しようがない!ってのは、スカしてイケてるつもりの馬鹿がよくやるパターンだ
こいつらも、コミュ的には迷惑なだけ
95の「外部関数」が問題だとするなら、
95よりも分かりやすく、95の代替になる回答を用意するように心掛ければ済むだけ
出来ないのなら、黙っておく方がいい
C言語の仕様として「内部/外部の区別がない」とか、別方向にウンチクを垂れるのならどうぞだが
2025/11/10(月) 07:43:17.41ID:zJ1Qzqef0
これだからZは。


>>98は自ら意図的に世代間抗争に持ち込んでいるのに、ケツも拭けないのか
ゆとりZはやはり死ねだな
5chが(俺ら世代にとって)比較的マシな場所なのは、ゆとりZの存在確率が低い事が地味に効いてる
理解出来てない奴の方が多いけどね

世代間抗争も、やりたければやればいいと思うが、せめて勝てる算段を立ててからにしろよと
コミュ障がコミュ障のままなのは、結局の所、コミュ上手になろうともしてないからだ
2025/11/10(月) 11:26:46.51ID:7d+3pm9S0
初老が中年にマウントとるスレ
2025/11/10(月) 14:39:59.87ID:JbkrBD5Q0
いくつから中年ですか?
112デフォルトの名無しさん (ワッチョイ ff2a-Nex0)
垢版 |
2025/11/10(月) 15:24:22.95ID:mwBByQv20
switch(年齢) {
 case 0 ... 7: return 幼年;
 case 8 ... 17: return 少年;
 case 18 ... 25: return 青年;
 case 26 ... 65: return 中年;
 default: return 老年;
}
2025/11/10(月) 15:50:01.90ID:2ChBD2tN0
他言語で”sjisの¥が含まれた全角文字の字化け"で苦しんだ思い出・・・。
2025/11/10(月) 18:58:50.79ID:JbkrBD5Q0
大概の言語はsjis扱う方法があるはず
2025/11/10(月) 20:08:23.10ID:zJ1Qzqef0
>>110
ゴミクズ若害ゆとりZが老害マウントを取り損なったスレだな
ただ>>98はRustに行った方が幸せになれるとは思う
2025/11/11(火) 01:27:33.54ID:Ul+ztfon0
LinuxでMicrosoft C拡張が使える様になるらしい
117デフォルトの名無しさん (ワッチョイ ff2a-Nex0)
垢版 |
2025/11/11(火) 08:58:14.69ID:Vfm72xbe0
>>116
わららない。レベルが低くてスマソ

Microsoft C拡張ってこれ?

https://learn.microsoft.com/ja-jp/cpp/build/reference/microsoft-extensions-to-c-and-cpp?view=msvc-170
> C および C++ の Microsoft 拡張機能

Linux 上の MS コンパイラか何かがあるの?
118デフォルトの名無しさん (アウアウウー Sae3-N4yN)
垢版 |
2025/11/11(火) 14:43:16.54ID:crDtfQHZa
ディレクトリを/で分割したいときstrtokで出来そうだけど
\で分割したいときstrtok使うとsjisのとき困りませんか?
文字列じゃなくディレクトリとして扱う標準関数ってどんなのがある?
2025/11/11(火) 15:13:06.91ID:fDHsXV5O0
そんなクソプラグラムいつまで作ってんだよ
2025/11/11(火) 15:19:43.32ID:ml7LuvJY0
>>118
sjis扱うならそれがマルチバイト文字の一部か1バイト文字かを判定するのが普通では?
121デフォルトの名無しさん (ワッチョイ 7fad-1O0L)
垢版 |
2025/11/11(火) 17:21:20.49ID:5g+zU5z50
自分はではないけど、ShiftJisで1バイトではなく1文字戻る場合、1バイト目なのか2バイト目で1バイト目と被る部分なのかがわかりにくいよね
122デフォルトの名無しさん (ワッチョイ 7fad-1O0L)
垢版 |
2025/11/11(火) 17:28:31.16ID:5g+zU5z50
自分はではないけど

自分は118ではないけど
2025/11/11(火) 18:20:54.06ID:LOIEr1mz0
>>118
> strtok
クソ仕様過ぎてビビる
使うの止めた方がいいのでは?
2025/11/11(火) 18:21:45.51ID:LOIEr1mz0
>>121
> 先頭から文字コードの判定をする場合はよいが、
> 後ろから判定をしようとすると、最悪の場合、先頭までたどらないといけないことがある (from wiki)
仕様外(製作時の想定外)だから諦めて、インデックス作るか、16bit固定長やutf8に変換するのが吉かと
2025/11/12(水) 07:37:37.89ID:xTE5ywXt0
1文字づつ属性タグ付けてから好きな処理すればいい
2025/11/12(水) 09:44:34.01ID:9DKi0uHD0
>>118
標準関数というのが言語仕様 (規格) にある関数という意味ならディレクトリという概念すら無い。
ファイルを指し示す文字列は単に「ファイル名」としか書いておらず、どういった形式を持つかは規定されない。
ファイルシステムによって独特の概念がある場合もあるし、言語仕様で決めるような筋合いのものではないってことだと思う。

ホスト環境 (OS) のほうでなんらかの機能を提供している場合もあり、たとえば Windows だと shlwapi.h にある名前が Path で始まるやつはパス操作関係の API だ。
2025/11/12(水) 11:47:07.85ID:swftmftO0
DOS時代は文字コードをASCII、JIS/SJISしか知らなかったから
文字列操作は1字2バイトにする関数作って自分で処理してたな。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況