C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.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言語なら俺に聞け 144
https://mevius.5ch.net/test/read.cgi/tech/1514025223/
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C言語なら俺に聞け 145
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9381-qput)
2018/02/19(月) 22:13:58.98ID:9/te2eSJ0420デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/13(火) 08:44:52.34ID:a0aOTtHi0 >>419
よくあるダメなゴトーさん。
よくあるダメなゴトーさん。
421デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/13(火) 10:00:11.49ID:mZm9h8PZa >>412
まあ、ないけど、エラーになったら自分でif文使って分岐すれば良いだけでは?
C言語は単に言語レベルでのそういう便利機能が少ないってだけで実現する方法は内部的な動作まで考えたら結局は同じにしかならんと思うよ、
まあ、ないけど、エラーになったら自分でif文使って分岐すれば良いだけでは?
C言語は単に言語レベルでのそういう便利機能が少ないってだけで実現する方法は内部的な動作まで考えたら結局は同じにしかならんと思うよ、
422デフォルトの名無しさん (ササクッテロレ Sp33-Y2nf)
2018/03/13(火) 10:29:21.12ID:FbdkMN9Up C言語はマクロアセンブラから派生した感じなんで、言語体系はお世話にも良いとは言えないんだよな。
当時はマシン語で演算結果フラグで条件ジャンプや条件コールしてた煩わしさから開放されただけでも有り難かったんだ。
そんなチープな言語にオブジェクト指向だの例外処理だのとか求めて迷走したのがC++
ええい、いっそ作り直してしまえって出したのがJavaやC#
だからC言語使う時点で諦めれ。
当時はマシン語で演算結果フラグで条件ジャンプや条件コールしてた煩わしさから開放されただけでも有り難かったんだ。
そんなチープな言語にオブジェクト指向だの例外処理だのとか求めて迷走したのがC++
ええい、いっそ作り直してしまえって出したのがJavaやC#
だからC言語使う時点で諦めれ。
423デフォルトの名無しさん (ワッチョイ cb38-uQtz)
2018/03/13(火) 11:04:12.06ID:92t/zLSk0 >>421
そのif文でゴチャゴチャしだしたら「例外処理」を名乗れない
そのif文でゴチャゴチャしだしたら「例外処理」を名乗れない
424デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/13(火) 11:54:23.49ID:a0aOTtHi0 基本的にウオーターフォールを守るのが大事やな。
そのうえでどこに飛びたいかって感じ。
そのうえでどこに飛びたいかって感じ。
425デフォルトの名無しさん
2018/03/13(火) 12:12:14.52 フォールウオーバー機構を言語レベルで用意すべき
426デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/13(火) 12:16:24.04ID:a0aOTtHi0427デフォルトの名無しさん (アウーイモ MM1f-swbP)
2018/03/13(火) 12:26:22.54ID:CTGLDN6cM 漢字で書くと闘婆
428デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/13(火) 13:00:28.56ID:5qOlO1LIa429デフォルトの名無しさん (ワッチョイ cb38-uQtz)
2018/03/13(火) 13:12:03.18ID:92t/zLSk0430デフォルトの名無しさん (ワンミングク MMda-GEnZ)
2018/03/13(火) 13:20:12.96ID:lXm9DcKjM SIGUSR1/2じゃ駄目なのか?
431デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/13(火) 15:58:05.78ID:LC30GjQRa >>429
議論?何の?新言語の?
議論?何の?新言語の?
432デフォルトの名無しさん (ワッチョイ cb38-uQtz)
2018/03/13(火) 16:39:07.67ID:92t/zLSk0 >>431
いいよ、無理に話さなくて
いいよ、無理に話さなくて
433デフォルトの名無しさん (ブーイモ MM3f-KXGk)
2018/03/13(火) 19:35:09.64ID:WMMjj2eHM 聞く耳持たんらC
434デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/13(火) 20:04:26.12ID:/ChP+Vc3M 突っ込まれて遁走だろ w
435デフォルトの名無しさん (ワッチョイ 0b9f-uQtz)
2018/03/14(水) 02:09:35.30ID:IiyiuIPr0 ここで幾ら議論してもC言語は変わらない。
Cから派生した言語を新たに作るというのであれば議論することには意味があるだろうが、そうでないならそれはただの愚痴だ。
Cから派生した言語を新たに作るというのであれば議論することには意味があるだろうが、そうでないならそれはただの愚痴だ。
436デフォルトの名無しさん (ワッチョイ ea6e-uQtz)
2018/03/14(水) 06:44:38.33ID:4nqAllCK0 おまえさあCの例外処理が言語のビルトインとか思っているわけ?
Cは変わらないとか言っちゃってるけど、
その現状のCがわかってないのに変わったかどうか気付けるのか?
Cは変わらないとか言っちゃってるけど、
その現状のCがわかってないのに変わったかどうか気付けるのか?
437デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 07:02:59.95ID:M7iHvccR0 一応errnoだったかっていう、失敗理由を示す変数がある事はある。忘れられてるけど。
C言語で唯一トラブルシューティングに使える変数。
C言語で唯一トラブルシューティングに使える変数。
438デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 08:03:51.30ID:ylQhqnt4M439デフォルトの名無しさん (ワッチョイ ea6e-uQtz)
2018/03/14(水) 08:15:23.77ID:4nqAllCK0 errnoだってwww あれが例外処理なのか
setjmpがどうとんでもないのか具体的には言えないんだろうな
だから聞かない
setjmpがどうとんでもないのか具体的には言えないんだろうな
だから聞かない
440デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 08:25:02.15ID:M7iHvccR0 >>439
大域ジャンプするとエラー処理したところが戻ったりして変数グチャグチャになることがあるからな。
まぁ、C++の例外も大域ジャンプだし。個人的には使わないな。
古き良き-1やら_boolであきらめる方が精神的には良い。
んで、趣味位のケースなら正常系だけ書いておけば大体問題ない。
エラー系は大体ロジックエラーだからデバッグで落とす。
大域ジャンプするとエラー処理したところが戻ったりして変数グチャグチャになることがあるからな。
まぁ、C++の例外も大域ジャンプだし。個人的には使わないな。
古き良き-1やら_boolであきらめる方が精神的には良い。
んで、趣味位のケースなら正常系だけ書いておけば大体問題ない。
エラー系は大体ロジックエラーだからデバッグで落とす。
441デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 08:29:46.90ID:ylQhqnt4M442デフォルトの名無しさん (スフッ Sd8a-nIhD)
2018/03/14(水) 08:31:33.24ID:6wuH32OAd 高級アセンブラの名前は伊達ではないよね。
443デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 08:32:17.72ID:M7iHvccR0 あれジャンプじゃなくて、スタックロールバックだからな。どっちかっていうとリセットの類。
他の言語でこれは実装できない。というかやりたくはないだろう。
他の言語でこれは実装できない。というかやりたくはないだろう。
444デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 08:35:45.72ID:M7iHvccR0 大域ジャンプ+動的メモリアローケート。あぁおそろしい。
なので、大域ジャンプはやめましょう。
なので、大域ジャンプはやめましょう。
445デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 08:37:30.11ID:ylQhqnt4M >>440
> 大域ジャンプするとエラー処理したところが戻ったりして変数グチャグチャになることがあるからな。
それはお前の能力が足りないだけの話だろ w
> まぁ、C++の例外も大域ジャンプだし。
C++はデストラクタとかの処理も要るからライブラリレベルでは実現できない
そう言う処理を全てプログラマに押し付けられるC言語だからできるってことでもある
> 大域ジャンプするとエラー処理したところが戻ったりして変数グチャグチャになることがあるからな。
それはお前の能力が足りないだけの話だろ w
> まぁ、C++の例外も大域ジャンプだし。
C++はデストラクタとかの処理も要るからライブラリレベルでは実現できない
そう言う処理を全てプログラマに押し付けられるC言語だからできるってことでもある
446デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 08:41:34.04ID:M7iHvccR0447デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 08:45:22.60ID:M7iHvccR0 C++のクラス機構をライブラリで実装するときは、構文糖入れたりとか、イベントモデル入れたりとか。
エネルギーばかりかかって収穫がない。
エネルギーばかりかかって収穫がない。
448デフォルトの名無しさん (アウアウウー Sa1f-uQtz)
2018/03/14(水) 09:25:24.96ID:ZphqLecba >>436
Cには言語レベルでの例外処理はないのでは?何のことを指してそう言っているのか?
Cには言語レベルでの例外処理はないのでは?何のことを指してそう言っているのか?
449デフォルトの名無しさん (ワッチョイ 0bb5-Y2nf)
2018/03/14(水) 09:28:14.80ID:ooB4nY3v0 Cにだって例外処理はある。
でもそれって、CPUの例外割り込みの事だけどね。
あー結局言語仕様じゃ無いじゃんw
でもそれって、CPUの例外割り込みの事だけどね。
あー結局言語仕様じゃ無いじゃんw
450デフォルトの名無しさん (アウアウウー Sa1f-uQtz)
2018/03/14(水) 09:29:50.23ID:ZphqLecba >>449
ほら。ないよな?
ほら。ないよな?
451デフォルトの名無しさん (アウアウウー Sa1f-uQtz)
2018/03/14(水) 09:32:49.61ID:ZphqLecba 割り込みっていうならシグナルがあるがしかしOSの問題だよな?
てか標準じゃないか。それにシグナルのために特別な言語仕様が作られてもいない。
てか標準じゃないか。それにシグナルのために特別な言語仕様が作られてもいない。
452デフォルトの名無しさん (ワッチョイ 0bb5-Y2nf)
2018/03/14(水) 09:35:13.20ID:ooB4nY3v0 所詮Cは高級アセンブラだからなぁ
453デフォルトの名無しさん (ワッチョイ ea6e-uQtz)
2018/03/14(水) 10:19:21.23ID:4nqAllCK0 >>441
現状のCの話じゃなかったのか?
なんで他の言語が出てくるんだ
俺はてっきりsetjmpの仕様がとんでもないと言っているのかと思ったが
実装方法がとんでもないと言っているのか?
あれか動作保証のないマイクロ診断命令でも使っていると言いたいの?
現状のCの話じゃなかったのか?
なんで他の言語が出てくるんだ
俺はてっきりsetjmpの仕様がとんでもないと言っているのかと思ったが
実装方法がとんでもないと言っているのか?
あれか動作保証のないマイクロ診断命令でも使っていると言いたいの?
454デフォルトの名無しさん (ワッチョイ ea6e-uQtz)
2018/03/14(水) 10:20:28.21ID:4nqAllCK0455デフォルトの名無しさん (ワッチョイ fb93-ao9L)
2018/03/14(水) 11:44:11.11ID:jowRUKsS0 何やら雰囲気が悪くなってるように感じるけど、カレンダー絡みかな。
456デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 12:08:39.92ID:L/3+Hz1H0 やたら突っかかってくるやつを構ってやっているだけだが
457デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/14(水) 12:22:56.52ID:e7inwI4na >>454
知らんなあ。Cの例外処理ってなんなの?
知らんなあ。Cの例外処理ってなんなの?
458デフォルトの名無しさん (ワッチョイ be81-uQtz)
2018/03/14(水) 12:24:13.25ID:y6ADsCAy0 ここは遊び場ではありません
459デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 12:52:15.53ID:L/3+Hz1H0460デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/14(水) 12:53:42.74ID:e7inwI4na >>459
何のことなのかぜひ書いてくれ。
何のことなのかぜひ書いてくれ。
461デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 12:53:55.90ID:L/3+Hz1H0 人の話の腰を折ることに専念せざるを得ない防戦一方なつまらんやつ
462デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 12:55:02.45ID:L/3+Hz1H0463デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 12:55:16.50ID:x85VLsABM464デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 12:58:38.88ID:x85VLsABM >>453
> 現状のCの話じゃなかったのか?
> なんで他の言語が出てくるんだ
どんだけ理解力がないんだよ...
> 俺はてっきりsetjmpの仕様がとんでもないと言っているのかと思ったが
> 実装方法がとんでもないと言っているのか?
だから他の言語ではライブラリでは実装しづらい機能って話な
> あれか動作保証のないマイクロ診断命令でも使っていると言いたいの?
背伸びしてマイクロ診断命令とか言い出すとか w
> 現状のCの話じゃなかったのか?
> なんで他の言語が出てくるんだ
どんだけ理解力がないんだよ...
> 俺はてっきりsetjmpの仕様がとんでもないと言っているのかと思ったが
> 実装方法がとんでもないと言っているのか?
だから他の言語ではライブラリでは実装しづらい機能って話な
> あれか動作保証のないマイクロ診断命令でも使っていると言いたいの?
背伸びしてマイクロ診断命令とか言い出すとか w
465デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/14(水) 13:00:11.52ID:e7inwI4na もしやこんなやつの事を言ってるのか?
http://d.hatena.ne.jp/htz/touch/20090216/1234774418
http://d.hatena.ne.jp/htz/touch/20090216/1234774418
466デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/14(水) 13:02:30.29ID:e7inwI4na 自作関数からのlongjmp()利用するなら似たようなものは作れるが、それは言語レベルで例外処理をサポートしている状態とは違う。
467デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/14(水) 13:02:58.32ID:e7inwI4na >>462
言ったぞ。早く書け。
言ったぞ。早く書け。
468デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/14(水) 13:04:49.57ID:e7inwI4na あ、関係ないけどホーキング博士が死んだという速報が入った。
469デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 13:35:20.49ID:M7iHvccR0 >>463
大域ジャンプなんぞつかわんので。GOTOくらいは使うけど。
戻った変数と戻ってない変数把握するの無駄すぎる。
んで、どうやってって関数かくときにifで入力要件位書くだろ。無駄な引数減らしたりとか。
大域ジャンプなんぞつかわんので。GOTOくらいは使うけど。
戻った変数と戻ってない変数把握するの無駄すぎる。
んで、どうやってって関数かくときにifで入力要件位書くだろ。無駄な引数減らしたりとか。
470デフォルトの名無しさん (ワッチョイ cf8a-GEnZ)
2018/03/14(水) 13:43:20.07ID:Ul+PcfeA0 HDLCの状態遷移を大域jump無しで書くのは大変だろうなぁ
471デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 13:48:42.43ID:M7iHvccR0 さぁ、未経験だからね。
>>468
うん、確認した
うん、確認した
473デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 14:51:40.09ID:L/3+Hz1H0 >>467
そんな約束してねえぞゲーハー
そんな約束してねえぞゲーハー
474デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 14:54:07.64ID:L/3+Hz1H0475デフォルトの名無しさん (アウウィフ FF1f-0aB1)
2018/03/14(水) 15:26:30.92ID:2cAisCwCF476デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/14(水) 17:04:58.74ID:buZ+p9lOa >>473
早く書けよ。こっちゃあ昼からずっと回ってワンワン言いっぱなしなんだからよ。もう千回ぐらい回ったぞ。
早く書けよ。こっちゃあ昼からずっと回ってワンワン言いっぱなしなんだからよ。もう千回ぐらい回ったぞ。
477デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 17:08:34.94ID:L/3+Hz1H0478デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/14(水) 17:14:31.52ID:buZ+p9lOa 他の人でこいつの言うことわかってるやつ居るのか?
479デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 17:24:39.97ID:L/3+Hz1H0 犬に邪魔されて説明どころではない状態だからなあ
480デフォルトの名無しさん (JP 0H9b-7yGo)
2018/03/14(水) 18:08:46.89ID:m9sKyebjH 情報持ってるふりして出し惜しみするのがマウンティングの基本
481デフォルトの名無しさん (アウウィフ FF1f-0aB1)
2018/03/14(水) 18:24:47.12ID:2cAisCwCF 朝日新聞ですねわかります
482デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 18:29:37.08ID:L/3+Hz1H0 煽れば出ると本気で思っているならやってみな
この程度の話、マジこの程度にも付いて来れないアホの泣き声は物笑いの種だぜ
この程度の話、マジこの程度にも付いて来れないアホの泣き声は物笑いの種だぜ
483デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 18:30:37.68ID:uMO7yRavM484デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 18:32:36.61ID:uMO7yRavM485デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/14(水) 18:41:41.61ID:buZ+p9lOa ま、どうでもいいから>>436で書いたC言語の例外処理についてどういうものなのか書けよ。
486デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 18:52:07.48ID:L/3+Hz1H0487デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/14(水) 19:21:46.36ID:buZ+p9lOa わかったわかった。もう書かなくていいよ。かわいそうなやつだな。合掌。
488デフォルトの名無しさん (ガックシ 06e6-NINk)
2018/03/14(水) 19:45:37.85ID:IogLKo4e6 ID:L/3+Hz1H0に構うな
489デフォルトの名無しさん (ワッチョイ cb74-uQtz)
2018/03/14(水) 21:53:59.94ID:L/3+Hz1H0 収穫ゼロで引き下がる、みじめなヤツw
490デフォルトの名無しさん (スップ Sdb7-fYnq)
2018/03/15(木) 06:38:35.49ID:z1/gBAj5d Cでエクセルの指定シートだけテキスト化できます?
491デフォルトの名無しさん
2018/03/15(木) 07:11:47.68 >>490
できますん
Excelがインストールされている環境で動かす前提であれば
COMコンポーネント (Microsoft Excel Object Library) を使えばいいが
C++じゃないとダメかも
自前でExcelフォーマットを解析して変換することも
膨大な工数を費やせば理論的にはできるだろうが
現実的には選択肢に入らないな
xlsx限定ならまだ楽かも知れんが
Excelを扱う部分は他の言語で開発してCからはそれを呼び出すのが普通かな
できますん
Excelがインストールされている環境で動かす前提であれば
COMコンポーネント (Microsoft Excel Object Library) を使えばいいが
C++じゃないとダメかも
自前でExcelフォーマットを解析して変換することも
膨大な工数を費やせば理論的にはできるだろうが
現実的には選択肢に入らないな
xlsx限定ならまだ楽かも知れんが
Excelを扱う部分は他の言語で開発してCからはそれを呼び出すのが普通かな
492デフォルトの名無しさん (ドコグロ MMeb-tgc5)
2018/03/15(木) 07:16:10.04ID:BwZLx9bwM493デフォルトの名無しさん (ワッチョイ 5b9f-SmQe)
2018/03/15(木) 07:53:33.32ID:/GlmcHqY0 Cにあっていると思う
バイナリを呼んでキャストして
キャスト後も分岐ルートが色々あって
構造体はほとんど可変長
細かいものを組み上げるのは、たぶん Cが最適
バイナリを呼んでキャストして
キャスト後も分岐ルートが色々あって
構造体はほとんど可変長
細かいものを組み上げるのは、たぶん Cが最適
494デフォルトの名無しさん (ササクッテロロ Spe9-N79+)
2018/03/15(木) 09:54:54.80ID:W95zVRhkp FIFO(名前付きパイプ)で、大量データを分割して送受信したいです。
送信側
---------------------------
buff=malloc(datalen);
len=512;
pos=0;
do{
w=write(fifo,buff+pos,len);
pos+=w
datalen-=w
len=datalen < 512 ? datalen : 512
}while(0<datalen)
---------------------
こんなんでok?
送信側
---------------------------
buff=malloc(datalen);
len=512;
pos=0;
do{
w=write(fifo,buff+pos,len);
pos+=w
datalen-=w
len=datalen < 512 ? datalen : 512
}while(0<datalen)
---------------------
こんなんでok?
495デフォルトの名無しさん (ワッチョイ d7ea-fr1+)
2018/03/15(木) 10:35:33.07ID:v5sVsR9k0 ・最初に飛び込んでくる段階で datalen が 分割サイズ(512) より小さい時の考慮
(ループ中と同じ記述で良いのでは?)
・書けなかった時(w=0 だったとき) の脱出をケアする
ぐらいでしょうか
(ループ中と同じ記述で良いのでは?)
・書けなかった時(w=0 だったとき) の脱出をケアする
ぐらいでしょうか
496デフォルトの名無しさん (ワッチョイ fbee-Iqdo)
2018/03/15(木) 10:45:14.98ID:lf1N2aO70 SIGPIPEで死ぬぽ。
497デフォルトの名無しさん (ササクッテロレ Sp6f-ywpa)
2018/03/15(木) 10:49:38.59ID:c+umNtGLp マジックナンバー使うな。
498デフォルトの名無しさん (ワッチョイ 1323-hKdO)
2018/03/15(木) 11:01:51.80ID:OczprsBK0 >>496
シグナルは悪い文明! 粉砕する!
シグナルは悪い文明! 粉砕する!
499デフォルトの名無しさん
2018/03/15(木) 12:00:46.26500デフォルトの名無しさん (アウアウカー Sad3-Y9Jj)
2018/03/15(木) 12:19:33.36ID:KGbgKLI3a >>494
エラー処理が抜けてる。
エラー処理が抜けてる。
501デフォルトの名無しさん (アウアウカー Sad3-Y9Jj)
2018/03/15(木) 12:21:39.25ID:KGbgKLI3a >>496
そうそう。しかしその辺はOSや接続先によって違うかも。
そうそう。しかしその辺はOSや接続先によって違うかも。
502デフォルトの名無しさん (ワッチョイ 25d4-N79+)
2018/03/15(木) 16:10:59.70ID:CR6uT/FI0 >>494
これの受信側read()のコードを求むm(__)m
これの受信側read()のコードを求むm(__)m
503デフォルトの名無しさん (ワッチョイ ddd2-0FUd)
2018/03/15(木) 16:16:36.38ID:umqIWKjV0 【守銭奴】 株・FX・トレーダー <キリストW再臨″> 史上初テレパシー演説 【救世主】
https://rosie.5ch.net/test/read.cgi/liveplus/1521080734/l50
https://rosie.5ch.net/test/read.cgi/liveplus/1521080734/l50
504デフォルトの名無しさん (ワッチョイ d7ea-fr1+)
2018/03/15(木) 17:42:18.79ID:v5sVsR9k0 プロトコルなんか無しに来たものを読みきるだけの話なら
allocsz = blocksz = 512
buff = malloc(allocsz);
use = 0;
for (;;) {
w = read(FIFO, buff+use, allocsz-use);
if (w == 0) { /* もう来ない */
break;
} else if (w > 0) {
use += w:
if (use >= allocsz) {
// 器が尽きた
allocsz += blocksz;
buff = realloc(buff, allocsz); // 手抜きで realloc
}
} else { /* エラーケアしてね */ }
}
buff に use バイトだけ収まってる
allocsz = blocksz = 512
buff = malloc(allocsz);
use = 0;
for (;;) {
w = read(FIFO, buff+use, allocsz-use);
if (w == 0) { /* もう来ない */
break;
} else if (w > 0) {
use += w:
if (use >= allocsz) {
// 器が尽きた
allocsz += blocksz;
buff = realloc(buff, allocsz); // 手抜きで realloc
}
} else { /* エラーケアしてね */ }
}
buff に use バイトだけ収まってる
505デフォルトの名無しさん (ワッチョイ fbee-Iqdo)
2018/03/15(木) 17:56:13.79ID:lf1N2aO70 >buff = realloc(buff, allocsz)
リークするからやめなよ。
リークするからやめなよ。
506デフォルトの名無しさん (ササクッテロレ Sp6f-ywpa)
2018/03/15(木) 18:05:35.40ID:c+umNtGLp ヒープなんか使わずに配列にして自己管理せい。
507デフォルトの名無しさん (アウアウカー Sad3-Y9Jj)
2018/03/15(木) 18:12:47.89ID:yyzFA25Ma ヒープに配列用のメモリを確保しているわけで・・・
>>505
ん?realloc() はリークするのか?
ん?realloc() はリークするのか?
509片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd2f-5vKF)
2018/03/15(木) 18:24:18.46ID:mTrAuuczd >>508
割り当てに失敗したらリークするよ。
割り当てに失敗したらリークするよ。
511デフォルトの名無しさん (ワッチョイ 21b3-fr1+)
2018/03/15(木) 18:43:54.61ID:T5+tR1ew0 戻りを別の変数で受けて確認してから代入
512片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd2f-5vKF)
2018/03/15(木) 18:51:29.92ID:mTrAuuczd 前、ANSI準拠のreallocは、mallocとfreeの代わりになるって話をしたよな。
だから、最初のmallocは、NULLに対するreallocで置き換えできるんだよ。
だから、最初のmallocは、NULLに対するreallocで置き換えできるんだよ。
513片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd2f-5vKF)
2018/03/15(木) 18:52:49.68ID:mTrAuuczd それから、この場合はintよりもsize_tを使った方がいい。
514デフォルトの名無しさん (アウアウカー Sad3-Y9Jj)
2018/03/15(木) 20:39:48.98ID:yyzFA25Ma >>512
最初だけ、な。
最初だけ、な。
515デフォルトの名無しさん (アウアウカー Sa09-agSD)
2018/03/15(木) 23:54:08.20ID:NmT4VXxza 素朴な疑問なんですが、Cでメンバ関数を関数ポインタで定義して、そのメンバ関数から引数なしにメンバ変数を参照することってできませんか?
516デフォルトの名無しさん (ワッチョイ e19f-hKdO)
2018/03/16(金) 00:14:09.63ID:LkWvbaD00 >>515
メンバ関数ってなんですか?
メンバ関数ってなんですか?
517デフォルトの名無しさん (ブーイモ MM3f-WReF)
2018/03/16(金) 01:02:32.36ID:w3tL3lE3M >>515
https://mevius.5ch.net/test/read.cgi/tech/1434079972/39
メンバ関数 h() を返す メンバ関数 g() を定義
メンバ関数へのポインタ f を定義
メンバ関数へのポインタ f にメンバ関数 g() の返り値を代入
ここでメンバ関数へのポインタ f にはメンバ関数 h() が格納されている
->* 演算子を使用してメンバ関数へのポインタ f が指すメンバ関数 h() を実行、 h() ではメンバ変数 C::a を出力する
https://mevius.5ch.net/test/read.cgi/tech/1434079972/39
メンバ関数 h() を返す メンバ関数 g() を定義
メンバ関数へのポインタ f を定義
メンバ関数へのポインタ f にメンバ関数 g() の返り値を代入
ここでメンバ関数へのポインタ f にはメンバ関数 h() が格納されている
->* 演算子を使用してメンバ関数へのポインタ f が指すメンバ関数 h() を実行、 h() ではメンバ変数 C::a を出力する
519デフォルトの名無しさん (ブーイモ MM3f-WReF)
2018/03/16(金) 02:08:17.17ID:w3tL3lE3M >>518
スレタイ見ろ
スレタイ見ろ
520デフォルトの名無しさん (ワッチョイ 4fb3-LmTb)
2018/03/16(金) 04:14:48.79ID:3pmuZEr10 ポインタ構造体変数をポインタ変数で扱いたい時って
&p(ポインタ変数構造体変数)-> member(メンバ名)
みたいにわざわざ一回通常変数に直してからアドレスになおさないかんの?
&p(ポインタ変数構造体変数)-> member(メンバ名)
みたいにわざわざ一回通常変数に直してからアドレスになおさないかんの?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- (´・ω・`)おはよ
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
- くそしてかがやけ
- 🪬本日のコンマ占い🧿
