[過去ログ]
C言語なら俺に聞け 163 (1002レス)
C言語なら俺に聞け 163 http://mevius.5ch.net/test/read.cgi/tech/1721137434/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
144: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7932-hr+9) [sage] 2024/09/14(土) 13:55:39.65 ID:N2YvcTj50 >>143 そのポインタが指しているという意味で参照してると言ってる。 なにを言いたいんだ? 論点は「配列の初期化子として現れる文字列リテラルは配列の初期化以外に使われる可能性がない」という話だろ。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/144
250: デフォルトの名無しさん (ワッチョイ bf29-GITO) [sage] 2024/09/19(木) 20:28:27.65 ID:c2v//UgT0 >>248 c言語ってとっくの昔から自由にキャストしまくれる言語じゃないの知ってるか? さぁお前はなんと答える? http://mevius.5ch.net/test/read.cgi/tech/1721137434/250
399: デフォルトの名無しさん (ワッチョイ bf79-q0Tp) [sage] 2024/11/30(土) 18:05:05.65 ID:54hbVEvk0 Cは知っといた方がいいけど GUIをやりたいならこのスレに居るのは時間の無駄なんだが そのBITMAPなんちゃらも以下の環境では気にしなくていい GUI開発おすすめ言語 iOS macOSアプリ Swift、Objective-C Androidアプリ Kotlin、Java Webアプリ Kotlin、Java Windows C# なおWeb系はHTML/CSS、JavaScript/TypeScriptは必須と思って頂きたい http://mevius.5ch.net/test/read.cgi/tech/1721137434/399
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
700: デフォルトの名無しさん (ワッチョイ b6e5-M1fQ) [sage] 2025/02/25(火) 09:04:02.65 ID:ODzMt1Nm0 >>698 そうだった http://mevius.5ch.net/test/read.cgi/tech/1721137434/700
750: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ed32-p0tU) [sage] 2025/03/28(金) 22:16:42.65 ID:gM96YdDw0 >>749 なんらかの単語の略 (頭文字) というわけではないらしいよ。 > j is sort of like "i" for integer https://www.open-std.org/jtc1/sc22/wg14/www/docs/n833.htm http://mevius.5ch.net/test/read.cgi/tech/1721137434/750
859: デフォルトの名無しさん (オイコラミネオ MM6b-fGW2) [sage] 2025/07/01(火) 02:30:13.65 ID:LkiphQyhM PHPの文字列は、1つの文字列の中でも、文字によってバイト数が異なるそうだ。 だから、$str[$k] の $k は、文字単位ではなくバイト単位。 文字単位で指定したい場合には、 mb_substr($str, $k, 1, "UTF-8") とするとのこと。 文字列の終端には一応 0x00 が入っているが、文字の長さはバイト数で管理されており、0を 終端とはみなしていない。だから、文字コードが 0x00 の文字も文字列の中に含めることが可能。 $str = "こんにちは"; echo strlen($str); // バイト数(UTF-8なら15) echo mb_strlen($str); // 文字数(5文字) ところが、正規表現を扱う場合には、0x00 のバイトが含まれていると、文字列の終端と みなされることがある。だから、ユーザーによって入力された文字列を正規表現で 安全チェックをしたつもりでも、文字列の途中に 0x00 のバイトが含まれていて、 それ以後に危険なコードをが含まれている倍がある。 C言語で作っていれば子の様な齟齬は起きない。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/859
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.671s*