C言語なら俺に聞け 159

■ このスレッドは過去ログ倉庫に格納されています
2022/08/04(木) 23:32:27.83ID:yWVViPyIM
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを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

C2x ドラフト
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2731.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言語なら俺に聞け 158
https://mevius.5ch.net/test/read.cgi/tech/1640401906/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2022/09/22(木) 19:58:17.91ID:z6cxsZX20
領域拡張がそのままでは出来ずに新たな領域に指定サイズで取り直すからでは?
どっちにしてもそんなに細かくrealloc()するものでは無いし
ある程度の大きさで取っておいて足りなくなったらrealloc()するのが本来の使い方
2022/09/22(木) 19:58:48.48ID:p2gwdjIg0
reallocが別のメモリを確保して返す場合
▲のほうを通ります
このときfの内部でcsvを変更しても
mainのcsvは変化しません。
返り値にするかfの引数をCSV_T**にするか
変更すればよいです。
338デフォルトの名無しさん (ワッチョイ 775f-3ts6)
垢版 |
2022/09/22(木) 21:54:30.38ID:x7eBA3430
>>293
昔はデータ容量を節約する必要があったから、データ容量が増えることは避けたかっただけ。
339デフォルトの名無しさん (ワッチョイ 775f-3ts6)
垢版 |
2022/09/22(木) 21:56:10.71ID:x7eBA3430
>>295
①や②を使っている時点で日本人の都合を世界に押し付けていることがわからないのか?
2022/09/22(木) 22:34:09.45ID:4dXBB0gP0
丸数字はUnicodeに登録されてるから心配ないよ
㋿ですら存在するし
2022/09/22(木) 23:15:55.13ID:9LVV18M9M
>>293
そんなこと言ってたらUnicodeには肌色を指定する文字があって、これは通常表示されない
これらを組み合わせると家族絵文字はたった1文字を表示するのに最大で41byteになる
もはや文字を正しく表示する事は簡単じゃない
BOMの有無なんてかわいいもんだ
2022/09/22(木) 23:47:09.65ID:He0eupRY0
私が Unicode のグダグダさについて言いたいことは >>301 が全てなので繰り返しになるんだが
そもそも自然言語がグダグダなのが問題の根源。
文句があるなら自然言語を規格化して普及させてみせろや。
2022/09/22(木) 23:50:49.90ID:4dXBB0gP0
人それぞれなんだが、
自分が一番困るのは

  ~

これの扱いでいつもトラブル
2022/09/23(金) 00:53:58.54ID:oded7icuM
「が」と「か゛」が混ざってる事もある(見た目じゃ判別付かない)から、先ずはUnicode正規化しないと、なぜか文字列が一致しないとかもある
345デフォルトの名無しさん (アウアウウー Sa5b-8eP5)
垢版 |
2022/09/23(金) 01:35:24.44ID:gD4It3Aba
>>335
>>333-334 で work を書き換えて csv に上書きしてるつもりで
main の csv は上書きされていない
f 側では CSV_T **csv で受けて *csv = work; と描いて上書きする
main から &csv を渡す
346デフォルトの名無しさん (アウアウウー Sa5b-8eP5)
垢版 |
2022/09/23(金) 01:37:21.11ID:gD4It3Aba
ここと
work = realloc(*csv, sizeof(CSV_T)*i);
ここも
if(work != *csv) {
変更汁
2022/09/23(金) 06:31:49.61ID:exFn1ITS0
>>346
ここも直さんとエラーになるぞ
void f(CSV_T **csv){
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。