[過去ログ]
C言語なら俺に聞け 163 (1002レス)
C言語なら俺に聞け 163 http://mevius.5ch.net/test/read.cgi/tech/1721137434/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
458: デフォルトの名無しさん (ワッチョイ 33b8-iztn) [] 2024/12/15(日) 16:32:34.62 ID:jrfqO5QN0 調べてみたけど関数内に別の関数の処理はかけないっぽい? とりあえず自前のソース書き換えてみたけどC2275が出てしまう http://mevius.5ch.net/test/read.cgi/tech/1721137434/458
459: デフォルトの名無しさん (ブーイモ MM8a-1w4P) [sage] 2024/12/15(日) 16:54:06.72 ID:Wjdp3H7kM モジュールとかプロシージャはc言語の用語ではないよ 誤解を生むからなるべく正しい用語で あるいはソース書け http://mevius.5ch.net/test/read.cgi/tech/1721137434/459
460: デフォルトの名無しさん (ワッチョイ a301-2Zui) [] 2024/12/15(日) 17:04:08.92 ID:5Q71kCB70 Cで作ったソフトにアイコンをつける方法ありますか? コンパイラはmingw http://mevius.5ch.net/test/read.cgi/tech/1721137434/460
461: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0f32-782k) [sage] 2024/12/15(日) 17:07:42.25 ID:SAQ/jMe00 >>460 リソーススクリプトを書いて windres コマンドでコンパイルしてリンク。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/461
462: デフォルトの名無しさん (ワッチョイ 3338-UX28) [] 2024/12/15(日) 17:11:49.15 ID:jrfqO5QN0 >>459 ウィンドウプロシージャでおk? http://mevius.5ch.net/test/read.cgi/tech/1721137434/462
463: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0f32-782k) [sage] 2024/12/15(日) 17:25:02.46 ID:SAQ/jMe00 >>462 windows の話? ウィンドウプロシージャにデータを結びつけたいのなら必要なのは SetProp じゃないかな。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/463
464: デフォルトの名無しさん (ワッチョイ 4a12-O1Z7) [] 2024/12/15(日) 20:08:51.95 ID:7bvd8wX+0 >>458 よくある質問に書いてあんだからそれを読めよ http://mevius.5ch.net/test/read.cgi/tech/1721137434/464
465: デフォルトの名無しさん (ワッチョイ 4aa2-SaU4) [sage] 2024/12/15(日) 21:32:26.28 ID:8K4C8OcF0 2つ目のプロシージャってなんやねん http://mevius.5ch.net/test/read.cgi/tech/1721137434/465
466: デフォルトの名無しさん (オッペケ Srb3-aNNs) [sage] 2024/12/16(月) 07:18:55.27 ID:Y4GCxOlhr 今北 何のデータかわからんが、だれに属しているデータなのやら 「全然関係ないところ」には、置かないほうがいいぞ少なくとも http://mevius.5ch.net/test/read.cgi/tech/1721137434/466
467: デフォルトの名無しさん (ワッチョイ 3369-iztn) [] 2024/12/16(月) 18:03:11.25 ID:o/MtQx1A0 下記のコードのsizeof(buf)/sizeof(TCHAR)ってなんの意味があるの? ただのsizeof(buf)じゃだめ? static int num; TCHAR buf[8]; stprintf_s(buf,sizeof(buf)/sizeof(TCHAR), TEXT("%d"), num); http://mevius.5ch.net/test/read.cgi/tech/1721137434/467
468: デフォルトの名無しさん (ワッチョイ 3369-iztn) [] 2024/12/16(月) 18:17:40.10 ID:o/MtQx1A0 >>463 なるほどね、それで行けるかありがとう http://mevius.5ch.net/test/read.cgi/tech/1721137434/468
469: デフォルトの名無しさん (ワッチョイ 3369-iztn) [] 2024/12/16(月) 18:18:31.53 ID:o/MtQx1A0 >>466 自分の知識だと外に置くくらいしか思いつかんかった http://mevius.5ch.net/test/read.cgi/tech/1721137434/469
470: デフォルトの名無しさん (ワッチョイ 666d-1w4P) [sage] 2024/12/16(月) 18:20:09.41 ID:/03Ox5VG0 TCHARは_UNICODEのマクロの定義の有無によって16bitまたは8bitになる http://mevius.5ch.net/test/read.cgi/tech/1721137434/470
471: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0f32-aNNs) [sage] 2024/12/16(月) 18:26:34.86 ID:26oXJeTE0 >>467 > ただのsizeof(buf)じゃだめ? だめ。 TCHAR はコンパイル時に ANSI モードか Unicode モードかで定義が切り替わる。 ANSI モードのときは char で Unicode モードのときは WCHAR と同じ。 _stprintf_s も ANSI モードのときは sprintf_s に置き換えられて Unicode モードのときは swprintf_s になる。 swprintf_s のときの第一引数は文字数 (この場合は UTF-16 でのコードポイントの数) なのでバイト数である sizeof(buf) を
渡しても駄目。 ANSI モードでしかコンパイルしないのであれば別に割らなくても大丈夫だけど、それならそもそも切り替えを前提としたマクロを使う必要ないしな……。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/471
472: デフォルトの名無しさん (ワッチョイ 3369-iztn) [] 2024/12/16(月) 22:06:23.18 ID:o/MtQx1A0 Unicodeになるとなんで割る必要が出てくるのかいまいち掴めないなあ BuffのサイズをTCHARのサイズで割ってどうしてサイズが出せるの? http://mevius.5ch.net/test/read.cgi/tech/1721137434/472
473: デフォルトの名無しさん (ワッチョイ 666d-1w4P) [sage] 2024/12/16(月) 22:41:01.10 ID:/03Ox5VG0 >>472 ごちゃごちゃ考えてないで とっととデバッガ使って値を確認しな http://mevius.5ch.net/test/read.cgi/tech/1721137434/473
474: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0f32-782k) [sage] 2024/12/16(月) 22:48:31.98 ID:26oXJeTE0 配列の大きさを得るために配列のバイト数を配列要素のバイト数で割るのはごく一般的なイディオムなので何がわからないのかわからない。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/474
475: デフォルトの名無しさん (JP 0Hff-K+1m) [] 2024/12/16(月) 22:57:30.45 ID:Q04ymynwH sssp://img.5ch.net/ico/nida.gif これらのアイデアを実装するために取り組んでいる中で、EchoAPIが設計ワークフローを本当に効率化してくれた http://mevius.5ch.net/test/read.cgi/tech/1721137434/475
476: デフォルトの名無しさん [sage] 2024/12/17(火) 00:02:56.65 ID:KLd2kDAJ0 >>472 Unicodeの場合、2バイトで1文字を表現 ?????????????????? で9文字、18バイト ANSIの場合、 ????????? で9文字、9バイト > sizeof(buf)/sizeof(TCHAR) sizeof(buf)が指すのはバイト数、Unicodeなら18、ANSIなら9 sizeof(TCHAR)が指すのは1文字のバイト数、Unicodeなら2、ANSIなら1 そして stprintf_s の引数 sizeOfBufferはバイト数ではなく「格納する最大文字数」であること 引数がバイト数ならsizeof(buf)でいいけど、引数が文字数を求め
ているならsizeof(buf)ではおかしくなる 上の例で言えば、Unicodeは18バイト9文字で本来は9とするところを18と指定してしまうことになる すると関数側はバッファが18文字分(バイトで32バイト)あると勘違いするわけでバッファオーバーフローを起こす sizeof(buf)/sizeof(TCHAR) は18バイトの領域があって、それを1文字のバイト数で割って「9文字」ということ http://mevius.5ch.net/test/read.cgi/tech/1721137434/476
477: デフォルトの名無しさん [sage] 2024/12/17(火) 00:05:50.03 ID:KLd2kDAJ0 丸付き数字自体が1文字1バイトって意味じゃないからな 内部表現を表すために使用しただけで数字がx文字目として見て http://mevius.5ch.net/test/read.cgi/tech/1721137434/477
478: デフォルトの名無しさん (アウアウエー Sae2-N2kD) [] 2024/12/17(火) 10:25:09.48 ID:hEkGaD6xa _countof() http://mevius.5ch.net/test/read.cgi/tech/1721137434/478
479: デフォルトの名無しさん (ワッチョイ 666d-1w4P) [sage] 2024/12/17(火) 12:09:40.76 ID:2fZmW/080 いやvc++使ってんならstd::sizeでいい http://mevius.5ch.net/test/read.cgi/tech/1721137434/479
480: デフォルトの名無しさん (ササクッテロロ Spb3-DtHK) [sage] 2024/12/17(火) 12:36:10.86 ID:5c2Y3gwMp C言語スレだろw http://mevius.5ch.net/test/read.cgi/tech/1721137434/480
481: デフォルトの名無しさん (ワッチョイ be63-Vy5I) [sage] 2024/12/17(火) 12:49:19.32 ID:6SQ8uEd20 そこは禁欲しましょう http://mevius.5ch.net/test/read.cgi/tech/1721137434/481
482: デフォルトの名無しさん (ワッチョイ 33ef-iztn) [] 2024/12/18(水) 01:25:30.31 ID:ILkVh3nA0 >>476 朝わかりやすいね でもANSIって1バイトと2バイト混合できるよね?どうなっちゃうんだろう http://mevius.5ch.net/test/read.cgi/tech/1721137434/482
483: デフォルトの名無しさん [sage] 2024/12/18(水) 02:49:26.43 ID:NqM0X43U0 >>482 ANSIはバイト=文字数 そもそも論理的な文字数じゃなくて処理単位での文字数ね だから strlen("あいう") = 6 strlen("123あ67い0") = 10 // 数字は半角(1バイト)、ひらがなは全角(2バイト) Unicodeの場合でも正しい文字数になるわけじゃない、サロゲートペアの場合に文字数は2(4バイト)になる http://mevius.5ch.net/test/read.cgi/tech/1721137434/483
484: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0f32-782k) [sage] 2024/12/18(水) 09:23:44.77 ID:w442kBzm0 Unicode だとサロゲートペアを脇においても異体字だの合成だのといったものがあるし、人間が紙の上に書くときの直感的な感覚で言うところの「文字数」とは定義が違うので、各文字コードの仕組みを知っておくしか仕方がない。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/484
485: デフォルトの名無しさん (ワッチョイ 3339-iztn) [] 2024/12/18(水) 17:31:07.70 ID:ILkVh3nA0 >>483 >>484 つまりこの方法だとコンパイル時に気をつけるしか無いってことか、大変だね テキストエディタみたいなの作ろうとすると禿げ上がりそう http://mevius.5ch.net/test/read.cgi/tech/1721137434/485
486: デフォルトの名無しさん (ワッチョイ 8b93-1p0V) [sage] 2024/12/18(水) 17:41:39.49 ID:NuF84nX60 文字コード問題よりC言語で作れってほうがハゲりそうだ http://mevius.5ch.net/test/read.cgi/tech/1721137434/486
487: デフォルトの名無しさん (ワンミングク MMda-UGgi) [sage] 2024/12/18(水) 17:56:26.27 ID:2i1n2GHXM 固定長ならそこまで禿げないかと http://mevius.5ch.net/test/read.cgi/tech/1721137434/487
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 515 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s