[過去ログ] C言語なら俺に聞け 163 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
478: (アウアウエー Sae2-N2kD) 2024/12/17(火)10:25 ID:hEkGaD6xa(1) AAS
_countof()
479: (ワッチョイ 666d-1w4P) 2024/12/17(火)12:09 ID:2fZmW/080(1) AAS
いやvc++使ってんならstd::sizeでいい
480
(1): (ササクッテロロ Spb3-DtHK) 2024/12/17(火)12:36 ID:5c2Y3gwMp(1) AAS
C言語スレだろw
481: (ワッチョイ be63-Vy5I) 2024/12/17(火)12:49 ID:6SQ8uEd20(1) AAS
そこは禁欲しましょう
482
(1): (ワッチョイ 33ef-iztn) 2024/12/18(水)01:25 ID:ILkVh3nA0(1/2) AAS
>>476
朝わかりやすいね
でもANSIって1バイトと2バイト混合できるよね?どうなっちゃうんだろう
483
(2): 2024/12/18(水)02:49 ID:NqM0X43U0(1) AAS
>>482
ANSIはバイト=文字数
そもそも論理的な文字数じゃなくて処理単位での文字数ね
だから strlen("あいう") = 6
strlen("123あ67い0") = 10 // 数字は半角(1バイト)、ひらがなは全角(2バイト)

Unicodeの場合でも正しい文字数になるわけじゃない、サロゲートペアの場合に文字数は2(4バイト)になる
484
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 0f32-782k) 2024/12/18(水)09:23 ID:w442kBzm0(1/2) AAS
Unicode だとサロゲートペアを脇においても異体字だの合成だのといったものがあるし、人間が紙の上に書くときの直感的な感覚で言うところの「文字数」とは定義が違うので、各文字コードの仕組みを知っておくしか仕方がない。
485
(1): (ワッチョイ 3339-iztn) 2024/12/18(水)17:31 ID:ILkVh3nA0(2/2) AAS
>>483
>>484
つまりこの方法だとコンパイル時に気をつけるしか無いってことか、大変だね
テキストエディタみたいなの作ろうとすると禿げ上がりそう
486: (ワッチョイ 8b93-1p0V) 2024/12/18(水)17:41 ID:NuF84nX60(1) AAS
文字コード問題よりC言語で作れってほうがハゲりそうだ
487: (ワンミングク MMda-UGgi) 2024/12/18(水)17:56 ID:2i1n2GHXM(1) AAS
固定長ならそこまで禿げないかと
488: (ワッチョイ 66be-1w4P) 2024/12/18(水)18:24 ID:ccS3E3GJ0(1/2) AAS
>>485
方法が大変?
お前まだ理解できてないぞ
一般論として文字コードの扱いは大変だがTCHARの仕組みは単純だ
489: (ワッチョイ 2679-qWVo) 2024/12/18(水)18:25 ID:U+/f/ac80(1/3) AAS
CがC++だったとしても変わらんでしょ
VSCodeはレンダリングの都合でWebルレームワークとjavascriptで作られてるからC/C++製エディタと比較して遅いというデメリットがある
490: (ワッチョイ 66be-1w4P) 2024/12/18(水)18:34 ID:ccS3E3GJ0(2/2) AAS
c言語で文字列処理はクソ面倒でしょ
ライブラリの整備からやる必要がある上にコードがとっ散らかる
491: (ワッチョイ 2679-qWVo) 2024/12/18(水)18:36 ID:U+/f/ac80(2/3) AAS
Windowsの場合使用フォントに応じて描画幅を返すAPIに丸投げできるから大した手間にならないが
メモ帳の「右端で折り返す」相当を実装する場合右端のどこで切るかでその人センスが露になる
492: (ワッチョイ 2679-qWVo) 2024/12/18(水)18:41 ID:U+/f/ac80(3/3) AAS
>>480
何か誤解があるみたいだが開発言語にCを選ぶようなやつがそんなのを面倒に感じる事はないんだよ
493: はちみつ餃子◆8X2XSCHEME (ワッチョイ 0f32-aNNs) 2024/12/18(水)22:35 ID:w442kBzm0(2/2) AAS
アプリケーションを作るにあたって TCHAR が必要になる状況はそれほどない。
Unicode 対応をきちんとやるならそれとは別に ANSI 版も作るという必要性はないし、両方を作る必要性がないなら切り替えを意識する必要もないから。
最初から WCHAR で書けばよい。

ライブラリとしてまとめるならどちらにも対応したほうが良いこともあるかもしれんけど。
494: (ワッチョイ be63-Vy5I) 2024/12/18(水)23:14 ID:1nhczz8f0(1) AAS
テキストエディタ、アセンブラで作った奴いるだろう
ハゲてはいなかったと思う
495: (アウアウエー Sae2-N2kD) 2024/12/19(木)15:05 ID:p9TYuGiMa(1) AAS
>>483
strlen("123あ67い0") == 12 // utf-8
496: (ワッチョイ be63-Vy5I) 2024/12/19(木)15:35 ID:boHB/shj0(1) AAS
strcat()、実装大変そうだな
497
(2): (ワッチョイ eaad-NYGQ) 2024/12/19(木)18:03 ID:KNZC4rFA0(1/5) AAS
UTF-8のバイト数ではなく文字列の長さを調べるソース
外部リンク:drive.google.com
498
(1): (ブーイモ MMbf-1w4P) 2024/12/19(木)18:29 ID:ByBpVqn8M(1/3) AAS
>>497
Unicodeで文字列の長さって何?
書記素クラスタか?

って突っ込まれるから知ったかぶらないほうがいいぞ
499
(1): (ワッチョイ eaad-NYGQ) 2024/12/19(木)18:32 ID:KNZC4rFA0(2/5) AAS
>>498
文字数を数えられるように自分で書いたのだけど?
文字数数えられるけど知ったかとは?
500: (ワッチョイ 4a5b-SaU4) 2024/12/19(木)18:34 ID:hCGKCs/t0(1/3) AAS
👩🏽‍👩🏿‍👧🏻‍👧🏽
501
(1): (ブーイモ MMbf-1w4P) 2024/12/19(木)18:41 ID:ByBpVqn8M(2/3) AAS
>>499
それがまさに知ったか
unicodeの基礎すらわかってない
そんなやつのライブラリなんで誰が使うんだよ
502
(1): (ワッチョイ eaad-NYGQ) 2024/12/19(木)18:45 ID:KNZC4rFA0(3/5) AAS
>>501
基礎ってなに?
ただ文字数数えれるプログラムとしてだしたのに
503
(1): (ブーイモ MMbf-1w4P) 2024/12/19(木)18:50 ID:ByBpVqn8M(3/3) AAS
>>502
それは書記素クラスタか?ときいてるだろ
でもその言葉の意味がわからんのだろ?
504: (ワッチョイ eaad-NYGQ) 2024/12/19(木)18:52 ID:KNZC4rFA0(4/5) AAS
>>503
なんで書記素クラスタって言葉にこだわってるの?
もしかして教科通りにU+数字じゃないから言ってるだけ?
505
(1): (ワッチョイ 4a5b-SaU4) 2024/12/19(木)19:11 ID:hCGKCs/t0(2/3) AAS
﷽は1文字か?
506: (ワッチョイ eaad-NYGQ) 2024/12/19(木)19:27 ID:KNZC4rFA0(5/5) AAS
>>505
1文字 3バイトみたいだね
ソースを変えて出力してみた
507: (ワッチョイ 4a5b-SaU4) 2024/12/19(木)19:38 ID:hCGKCs/t0(3/3) AAS
そうなんだ
よかったね

外部リンク[txt]:www.unicode.org
508: (ワッチョイ 66fc-1w4P) 2024/12/19(木)19:46 ID:zv08w2oi0(1) AAS
main関数用のヘッダファイル用意してて草
509
(1): (ワッチョイ b704-1exS) 2024/12/19(木)19:59 ID:iU+Lg9qY0(1) AAS
unicode怖ひ
510: (オッペケ Srb3-aNNs) 2024/12/19(木)20:00 ID:y/hB6qNpr(1) AAS
退勤前に>>497見て、
ああ、"フロッピーディスク"って入れたら8が返り、"ハードディスク"って入れたら2.5が返るような関数だろ。
って思いつつ帰宅したら、またお前らときたら
511: はちみつ餃子◆8X2XSCHEME (ワッチョイ 0f32-782k) 2024/12/19(木)22:28 ID:uLfYubV70(1) AAS
>>509
自然言語がぶっ壊れてるんだよ。
Unicode は自然言語のぶっ壊れをどうにかこうにかコンピュータで扱える形にしただけ。
512: (ワッチョイ eb78-RqoG) 2024/12/20(金)15:28 ID:raronLtC0(1) AAS
JAIST、「並行量子通信プロトコル」の完全な自動形式検証を実現
外部リンク:news.mynavi.jp
513: (JP 0Hff-K+1m) 2024/12/20(金)23:42 ID:yXvtHThaH(1) AAS
BEアイコン:nida.gif
最近のRESTful APIについての議論に触発されてEchoAPIを試してみたところ、エンドポイントのシミュレーションツールがテストプロセスを非常に効率化してくれた
514: (ワッチョイ 3351-iztn) 2024/12/21(土)07:13 ID:37tGDg2N0(1/2) AAS
IsWindowVisible
IsWindowEnabled
EnableWindow
のダイアログ版教えてくりゃ
515
(1): (アウアウエー Sae2-N2kD) 2024/12/21(土)10:49 ID:bIHzWCsda(1) AAS
GetWindowHandle
516
(1): (ワッチョイ 3351-iztn) 2024/12/21(土)21:59 ID:37tGDg2N0(2/2) AAS
>>515
つまりどういうことだってばよ
517
(1): (ワッチョイ 66bf-1w4P) 2024/12/21(土)22:49 ID:Bjr5M2i00(1) AAS
>>516
Win32の板できけ
518: (ワッチョイ eb53-XATa) 2024/12/22(日)02:23 ID:SmvDArN50(1) AAS
>>517
なるほど
519
(1): (ワッチョイ 8a2d-f1r3) 2024/12/29(日)08:16 ID:5Nra/jss0(1) AAS
%*d
こんなの初めて知った
B1.3 Formatted Inputに載ってたけど読んでなかった
520: 警備員[Lv.1][新芽] (アウアウウー Sac7-QgLT) 2024/12/29(日)10:03 ID:RHfwjsVRa(1) AAS
(s)scanfのフォーマット引数もパターンマッチのように使えて便利だったり
521: (ワッチョイ 9aad-Udw9) 2024/12/30(月)16:23 ID:QwWcwTek0(1) AAS
>>519
俺はそれ20年以上前に知ったような気がする。
フォーマットの文字列をわざわざ別に作らなくて済んで素晴らしいと思った記憶がある。
522: (アウアウエー Sa52-fscC) 2024/12/31(火)13:18 ID:dvbSbmj1a(1) AAS
実は正規表現が使えるんだぜ
523: (ワッチョイ 4e63-3FWJ) 2024/12/31(火)13:46 ID:KJy4fxay0(1) AAS
ネイピア数や円周率を誤差ナシで扱えると嬉しい
524
(1): (ワッチョイ 0e76-+EE9) 01/02(木)15:48 ID:8mwDch1n0(1/2) AAS
円周率って math.h とかに入っているの?
それとも
pi = 4.0 * atan(1.0);
とかで持ってくるものなの?
525: はちみつ餃子◆8X2XSCHEME (ワッチョイ 9732-mOud) 01/02(木)19:46 ID:dC27qXct0(1/3) AAS
>>524
言語仕様にはないが、処理系によっては有ることもある。
特定の環境でコンパイル・実行できればよいならそれを使えばいいし、そうでないなら工夫も必用だろうし……
どのくらい移植性に配慮するかによるんじゃないの。
526: はちみつ餃子◆8X2XSCHEME (ワッチョイ 9732-mOud) 01/02(木)19:58 ID:dC27qXct0(2/3) AAS
double の精度が有限な以上は無理数を誤差なく扱うのは不可能だし、どうしてもやりたいなら数値計算ではなく解析的な計算をするしかない。
ただ、工学的な用途だと誤差をゼロにする意味はあまりないことが多くて、誤差の程度が保証されることが需要。
たとえば分子一個分より小さい桁の部分で正確でも何にも使えないから考えるだけ無駄でしょ。
527
(1): (ワッチョイ 0e76-+EE9) 01/02(木)22:08 ID:8mwDch1n0(2/2) AAS
ちょっと解析的な計算というのが正確にわかっていない

数値的な計算というのは有限差分法とか用いて近似的な解を求める方法だよね?

解析的な計算というのは a *x^2 + b * x + c = 0 なら手計算で解けるよというやり方?
使ったこと無いけどマスマティカとかそういうソフトだっけ?
528: はちみつ餃子◆8X2XSCHEME (ワッチョイ 9732-mOud) 01/02(木)23:00 ID:dC27qXct0(3/3) AAS
>>527
そう。 要は数式の変形で解くやりかたってこと。
どのくらいのものを扱いたいかによるけど四則演算と巾乗くらいからなる簡単な式を扱えればよいなら C で書いてもそれほど高度というほどではない。
リスト構造を作って切り貼りするってだけなので。
とはいえ、計算を始めたいときにやる下準備としてはかなり面倒臭いだろうとは思うけど。
529: (ワッチョイ 0e76-+EE9) 01/03(金)13:18 ID:4R6C6cdS0(1) AAS
なるほどね、解を公式化しておいて虚数が必要か判定する感じだろうね
530: (アウアウエー Sa23-Y8TR) 01/05(日)10:58 ID:8kdOFrcZa(1) AAS
πをπのまま計算して最後にmπで出力してくれれば良いのにと思うことは多い
531: はちみつ餃子◆8X2XSCHEME (ワッチョイ 9932-8Wha) 01/05(日)11:04 ID:caTYcs4C0(1) AAS
数式処理の基礎の基礎ならこのあたりがオススメできると思う。

C言語による標準アルゴリズム事典
外部リンク:gihyo.jp
532: 高卒工員◆rysjzJ5XpQ (ドコグロ MMde-pbJa) 01/13(月)10:59 ID:EpHsvAOYM(1) AAS
「」
533
(1): (アウアウウー Sa91-HZB4) 01/17(金)16:58 ID:GO6/DX25a(1) AAS
Cの糞仕様でmath.hインクルードしてなくても
int hoge(int) って解釈されるから
本当は double hoge(double) だったり float hoge(float) だったりしても
コンパイルだけ通ってリンク後に問題起こすってのが昔はあったな
534: (ワッチョイ 862a-Zdzc) 01/17(金)18:21 ID:eoeaxZuy0(1) AAS
error: implicit declaration of function 'hoge' にならないの?
535
(1): (ワッチョイ 555b-pCI4) 01/17(金)18:47 ID:is0uPVRE0(1) AAS
1のサンプルコードでコンパイル通らなかったから2のコードのようにキャストしたんだけど動き的には同じだよね?

1,pStrIndex = malloc(sizeof(TCHAR*) * count);
2,pStrIndex = (TCHAR**)malloc(sizeof(TCHAR*) * count);
536: (ワッチョイ 6a17-wArI) 01/17(金)19:25 ID:aSzNgrb80(1) AAS
だまってC++のスレいけよ
537: (ワッチョイ 8663-Z6+G) 01/17(金)19:31 ID:frJzdCet0(1) AAS
先に心療内科の外来に相談した方が良い
538: はちみつ餃子◆8X2XSCHEME (ワッチョイ 2932-puiI) 01/17(金)21:10 ID:SH5Lw3P50(1/2) AAS
>>533
厳密に言うと extern int hoge(); と暗黙に宣言したかのように扱うルールだった。 C89 では。
C99 で削除されたルールだけど今でも警告付きで通してしまう処理系はあるな。
539: はちみつ餃子◆8X2XSCHEME (ワッチョイ 2932-puiI) 01/17(金)23:50 ID:SH5Lw3P50(2/2) AAS
>>535
C では void* から他のポインタへ暗黙の型変換が許されるが C++ では許されない。
コンパイルエラーになってるならたぶん C++ を書いてる。
(処理系によってはオプションでエラーや警告を制御できることもあるけど。)
540: (ワッチョイ cf76-7Mnr) 01/19(日)13:12 ID:pnTgRmOE0(1) AAS
二次方程式を式変形で解くのは「代数的」な解法な気がする

「数値的」解法はコンピュータ利用?、「解析的」解法?
541: (ブーイモ MM1f-Bxv4) 01/19(日)13:18 ID:ix4t29qjM(1) AAS
そんな用語の意味ごとき自分で調べてわからんか?
542: (アウアウウー Saa7-C2Lh) 01/20(月)13:48 ID:G+ryJ45Ga(1) AAS
「二次方程式を式変形で解く」の意味が
ax^2+bx+c=0 の解 α, β をそれぞれ a, b, c の式で表す
という意味なら代数的解法か?単に構文解析の気もするが
α, β を浮動小数点数(複素数を含む)で表す
という意味なら数値的解法か?解析的解法か?
単に解の公式に代入してるなら解析的解法の訳が無い罠
543: (ワッチョイ 7f9a-eCkH) 01/20(月)15:06 ID:rx9N4QIY0(1) AAS
元の発言はたぶん円周率を近似値に置き換えないぐらいのことが言いたかっただけでしょ
5chのコテハンなんだからたいして考えてモノ言ってるわけじゃないだろうよ
544: (ワッチョイ cf63-uhza) 01/20(月)17:55 ID:CIg2w/Qm0(1) AAS
円周率は大体3
545: (ワッチョイ bf2d-nfRJ) 01/20(月)20:30 ID:pd7YCKBV0(1) AAS
奥村先生のアルゴリズム事典に二次方程式を解くコードが載ってる
解の公式だけで解くと桁落ちが生じるので解と係数の関係も使ってる。
546
(1): (ワッチョイ ff60-pJ9J) 01/20(月)23:33 ID:acq30m6X0(1) AAS
ポインタについて分かりやすく説明してくんろ
547: (アウアウウー Saa7-C2Lh) 01/21(火)08:28 ID:yRL5l1cZa(1) AAS
最近どっかで観た流れだな
はちみつのコピペか
548: (ワッチョイ cf49-7Mnr) 01/21(火)19:43 ID:OWL66YDB0(1) AAS
コンピュータのマシン語は高級言語で言うところの「変数名」による識別子は存在しない
なにによって識別するかは
レジスタの固有名詞か
メモリでの記憶場所を示すメモリアドレス

メモリアドレスを記憶させる変数やレジスタを
特にポインタ変数やポインタレジスタと呼んでいる
549: (ワッチョイ 7f07-BCxs) 01/22(水)00:18 ID:4EbDFbn90(1) AAS
生ポは人類には早かったってばっちゃんが言ってた
550: 警備員[Lv.1][新芽] (ワッチョイ ff87-PqgH) 01/22(水)01:06 ID:pXnIX9Zj0(1) AAS
ポインタには型があってだな、
intとか自分で定義した構造体とかの型が

ポインタが指すアドレスを起点にそれらの型(ポインタの型)が配置されているかのようにメモリにアクセスするできるようにすることだよ

アドレスには型がないけど(変な言い方だけど)そこにintがあるとかFILE構造体があるとか、そこにその型があるとしてポインタが指すからある
そうでなければただのバイトの列

intとかcharなどのプリミティブな型でなく、構造体からイメージした方が分かりやすくないかな
551: (ワッチョイ cf49-7Mnr) 01/22(水)01:50 ID:NkElh8NB0(1/2) AAS
そうだね p++ で数値が sizeof(*p)増える
552: (ワッチョイ cf49-7Mnr) 01/22(水)17:48 ID:NkElh8NB0(2/2) AAS
CもだけどC++やJavaなり関数や変数、メソッドやメンバーを参照できる範囲を絞って
安全を確保しようとしているよね

でもコンパイル後の実行コードで関数や変数のスコープチェックとかしていないしできないよね
スコープがどうであれポインタ経由で場所がわかっちゃうんだし

無能プログラマの糞コード避けにはなるけどマルウェア対策にはならないということかな
553: (ワッチョイ ff79-EhoM) 01/22(水)19:26 ID:6faY8jOE0(1) AAS
ぬるぽ
554: (ワッチョイ cf63-uhza) 01/22(水)19:44 ID:9LZoVYPp0(1) AAS
このスレで良い度胸してるぜ笑
555: はちみつ餃子◆8X2XSCHEME (ワッチョイ 4397-kbno) 01/23(木)00:44 ID:fx1H86wZ0(1) AAS
>>546
ポインタをテーマにした本がある。
丁寧に説明しようとすれば本一冊分程度の分量は語れるってことだ。
それを掲示板で書ける程度の分量でより分かりやすくするのは無理だよ。
まずは入門書を読んだ上でわからないことがあれば具体的に質問して。
556: (ワッチョイ 0301-BCxs) 01/23(木)19:20 ID:ruQDamXZ0(1) AAS
ポインタがすっと理解できない人はC言語は向いてないと思う
557: (ワッチョイ d3a3-85Rc) 01/23(木)19:58 ID:vkyBSe+H0(1) AAS
メモリの番地を直接指してるってだけの話なのに文法が意味不明なのが悪い
558: (ワッチョイ cf63-uhza) 01/23(木)20:11 ID:aOKdPI1Y0(1) AAS
Basicみたいに配列で操作すれば分かりやすいぞ 笑
1-
あと 444 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s