- 1 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 22:58:02.60 ID:dU5z27As.net]
- エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。 ◆ソースのインデントについて 半角空白やTABでのインデントはスレに貼ると無くなります。 そのため、アップローダーに上げるのも手ですが直接貼る場合は、 全角空白か に置換すると見栄えだけはよくなります。 【アップローダー】(質問が長い時はココ使うと便利) codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック) ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用) 前スレ 【初心者歓迎】C/C++室 Ver.99【環境依存OK】 echo.2ch.net/test/read.cgi/tech/1469177649/
- 72 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 08:32:07.55 ID:JclCvFO1.net]
- >nullptrに型が有るのか無いのか
この手の文法で型が無い落とし穴は初期化の { } ぐらいか int a = {0}; // 「{0}」は式でなく型も無い
- 73 名前:デフォルトの名無しさん mailto:sage [2016/11/29(火) 23:30:19.59 ID:7z8mZ0fw.net]
- さすがにCは時代に取り残された感があるな
新規案件なら埋め込み系を除いて存在意義なし
- 74 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 02:47:51.57 ID:Ir3oZvjK.net]
- 寂しいですなぁ
- 75 名前:デフォルトの名無しさん [2016/11/30(水) 02:56:49.99 ID:a9ciiDR7.net]
- う、埋め込み…
- 76 名前:デフォルトの名無しさん [2016/11/30(水) 04:02:07.30 ID:tfyAgmME.net]
- 組み込み系って英語ではembedded なんちゃら だし
よくある間違いでしょ
- 77 名前:デフォルトの名無しさん [2016/11/30(水) 05:21:32.16 ID:sG3uRZRm.net]
- 韓国ではよくあるんだ。
- 78 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 05:53:32.74 ID:/gnC384r.net]
- 埋めるのは中国の得意とする技術
- 79 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 21:26:32.85 ID:ncjk4kan.net]
- linuxのカーネルモジュールてC++で書けるようになったんだっけ?
- 80 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 22:16:09.74 ID:Yeu32peW.net]
- ドライバとかはサブシスは普通に書いてるぽい、コアな部分はメンテナがパニクルのでやっぱCかと
- 81 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 11:40:38.39 ID:OWujHEiH.net]
- 実際ひと目でいいからソース見てみ
一生C++なんか使わねーという主張がにじみ出てるよ
- 82 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 12:49:06.43 ID:yfw1GD74.net]
- C++使わなくていいならそれに越したことはないからね
- 83 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 13:16:49.42 ID:VWu2OAFy.net]
- c++は個人差が大きすぎるようです。議論も出来ない。
方向がコンフリクトしたら大変なのは ここ見てればわかる。
- 84 名前:デフォルトの名無しさん mailto:sage [2016/12/03(土) 01:01:12.94 ID:62YFpmrs.net]
- C++はマングリングとかややこしいから
- 85 名前:デフォルトの名無しさん mailto:sage [2016/12/03(土) 20:56:34.75 ID:nmEGc+VH.net]
- マンコリング
- 86 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 20:30:30.03 ID:CL+E9lTu.net]
- C++初学者です。
既存のCのライブラリに次のような関数が有るんだけど bool SendData(uint32_t * txData, uint32_t * rxData, uint16_t length); ラッパーで引数をuint16_tのポインタに変更したもを作りたいと考えています。 bool SendData(uint16_t * txData, uint16_t * rxData, uint_16_t length); 単にラッパーの中でバッファを持って変換してやれば良いとも思ったけど、 組み込み用途なんで速度や消費メモリ的にそれは避けたいです。 newやdeleteは無しでスタックのみを使用できれば、なお良いのですが、 良い方法が思いつきません。 何かスマートな方法は有りませんか?
- 87 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 20:55:16.41 ID:Cd8ql2jy.net]
- 元関数の length が uint32_t 単位での個数という仮定
→ uint32_t より小さい粒度は取り扱えない → uint16_t で取り扱える個数は偶数個に限定される → ポインタのキャストと length を /2 で渡すだけ
- 88 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 21:42:00.21 ID:74mAoGAM.net]
- uint16_tの方がラッパーなの?
どちらにしろ元の関数をそのまま使うなら変換は必要だね。 スタックが使われるかどうかはしらないけどClangコンパイラなら 可変長配列(VLA)っていうのがC++でも使えたはず。 サイズが大きすぎるとオーバーフローするけど。newと兼用してみるのも手。
- 89 名前:85 mailto:sage [2016/12/12(月) 22:47:53.10 ID:lLNqHCIY.net]
- >>86
なるほど、 渡すデータを1つ置きにすれば良いわけですね。 渡すデータを組み立てるときにそうすれば良いですし変換のコストは少なそうです。 多少汚いとこが関数外に出ちゃいますが今回のケースでは現実的な方法だと思います。 >>87 残念ながら使用しているコンパイラはclangではないですし、 VLAは今回の用途には重そうですね。 便利そうなので、PC用のプログラムを作るときに使えるかもしれません。 ひとまず>>86さんの方向で考えてみます。 お二人ともありがとうございました。
- 90 名前:デフォルトの名無しさん mailto:sage [2016/12/13(火) 07:43:47.25 ID:vJwCdf+q.net]
- 組み込みでスタックに可変長のデータ領域確保するとか頭大丈夫?
- 91 名前:デフォルトの名無しさん mailto:sage [2016/12/13(火) 18:19:51.83 ID:692Oa1tt.net]
- >>89
組み込みのことは知らないんだけど、サイズチェックして分岐するのはどうなん? if (length * sizeof(uint32_t) < 32767) { uint32_t list[length]; Test(list, length); } else { uint32_t list = new uint32_t[length]; Test(list, length); }
- 92 名前:デフォルトの名無しさん mailto:sage [2016/12/13(火) 19:22:51.41 ID:vJwCdf+q.net]
- >>90
どうなのって言われても好きにしろよとしか言えないけど... 個人的には各々のテストも必要になるその手のコードは書かない
- 93 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 21:00:06.98 ID:iypiqTM3.net]
- ガチの初心者でプログラミング勉強したいと思ってるんですが
プログラミング勉強するとなるとどんなものから作り始めればいいですかね? ちなみにCの基本的なこと(if,for文やファイル入出力)くらいしか知りません
- 94 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 22:16:52.10 ID:esEF0eVo.net]
- やっぱり画像が出たら楽しいから画像ビューアとかが良いんじゃないかな
画像が動いたらもっと楽しいって言うんならゲームもよいんじゃない? 音関係も楽しいんだが、サウンドプログラミングは結構専門知識がいるうえ デバッグが難しいから最初は手を出さないほうが良いよ ま、画像ビューアや動画プレイヤーが楽しいよ ちょっとした実用性もあるし
- 95 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 22:22:14.89 ID:KqXo4C+P.net]
- Cであることに特に意味がないのなら別の言語の検討をすすめる
- 96 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 06:44:53.82 ID:cbHo8vE5.net]
- javaも悪くないと思いますよ。
- 97 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 08:53:37.09 ID:hCzygT3G.net]
- >>92
プログラミングを習得した延長線上に何を作りたいか決まってる?
- 98 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 08:59:07.35 ID:2kpKp/Uz.net]
- >>92
作りたいプログラム(今ならアプリケーションというのかな)の イメージが先にないとアドバイスしにくい時代なのよ。 まずコンソールに hello, world を表示して、続いて標準入出力、 ソートやらリンクド・リストやらのアルゴリズムを習得して… という順序を踏んでも、「マウスをクリックすると何かしてくれる」ような 今様のプログラムには少しも近づかないんだな、これが。
- 99 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 09:22:43.83 ID:R8KZSjOU.net]
- >>96
ゆくゆくはカメラを使って画像処理的なものをしてみたいと思ってます 具体的にはまだ決まってませんが…
- 100 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 09:23:43.35 ID:R8KZSjOU.net]
- >>97
なるほど 将来的にやりたいことをしっかり考えたうえで何を学ぶべきか考えたほうがいいんですね!
- 101 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 09:30:19.30 ID:R8KZSjOU.net]
- >>93
なるほど! 参考になりますm(__)m
- 102 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 09:52:11.47 ID:hCzygT3G.net]
- >>98
じゃあとりあえずGUIが必要だから そこらへんからかな?
- 103 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 11:19:48.12 ID:O1fw7E0o.net]
- >>101
わかりました! ありがとうございます!
- 104 名前:デフォルトの名無しさん mailto:sage [2016/12/18(日) 22:40:31.25 ID:rTzEq7cO.net]
- c++でGUIな何かを作るときどうやるのが普通?どうやるのがおすすめ?
趣味嗜好全開でいいから教えてくれ
- 105 名前:デフォルトの名無しさん mailto:sage [2016/12/18(日) 22:46:05.73 ID:eNcCSvTp.net]
- ビルド時間とバイナリサイズが気にならないならwxWidgets
- 106 名前:デフォルトの名無しさん mailto:sage [2016/12/18(日) 22:56:35.56 ID:TyHJy95g.net]
- 真面目にその条件なら.NETだけどそれなら言語はC#でやった方がよいと思う
自分は自分用のWIN32APIを使ったGUI用のライブラリ作ったけど完全に時代遅れだとは思ってる
- 107 名前:デフォルトの名無しさん mailto:sage [2016/12/18(日) 23:56:09.22 ID:psse/iGW.net]
- wxWidgetsよさそうやね
クロスプラットフォームってのがいい
- 108 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 08:41:19.51 ID:K+bb4qm0.net]
- vcを使うという事ですか
- 109 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 08:43:24.96 ID:/4ZK922w.net]
- >>103
ターゲットのOSとかPC/ケータイとかライセンスとか軽さとか見比べて GUIフレームワークを選ぶ Qt は重いけどマルチプラットフォームかつ見た目がいいから人気 Windowsのみなら C# が迷わなくて済むけどね 時代遅れを気にしないなら VC+MFC の情報は多いw 他にもいろいろある
- 110 名前:デフォルトの名無しさん [2016/12/24(土) 19:03:48.07 ID:Xnn//JuE.net]
- FILE *fp;をグローバル変数にしてたら落ちまくって、ローカル変数にしたら落ちなくなった現象は何でですかね?
グローバルかローカルか関係ない気がするんですけど。 Windows7、Visual Studio 2015
- 111 名前:デフォルトの名無しさん [2016/12/24(土) 19:04:08.51 ID:Xnn//JuE.net]
- これで4時間近くハマった。
- 112 名前:フォルトの名無しさん mailto:sage [2016/12/24(土) 19:11:41.00 ID:0UyY/BKM.net]
- グローバルな FILE *fp の近く(若いアドレス)に置かれた
グローバルな配列の範囲オーバーじゃないかしら。
- 113 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 20:06:31.12 ID:TihFoldF.net]
- >>109
ファイルの開くのから閉じるのまでが一関数に収まってて、他から呼び出してないなら関係ないと思うけど 閉じ忘れとか?
- 114 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 20:27:17.35 ID:DNE92dFu.net]
- fileno とか ferror は確認した?
- 115 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 20:34:23.48 ID:y7L7nGQ6.net]
- fp をグローバルにおいたソースで 別のローカル変数をグローバルに置いたら
その変数で副作用起こすんじゃね? (>>111 と同じく範囲突破しての書き込みを疑ってる)
- 116 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 21:00:46.23 ID:yr6q9nVG.net]
- fpがどんな値になろうと最悪でもエラー検出するだけだから
落ちるのはまともにエラー判定してないせい
- 117 名前:109 mailto:sage [2016/12/24(土) 21:14:49.73 ID:Xnn//JuE.net]
- >>111-115
ありがとうございます。 >>111さんのおっしゃる通り、メモリの問題でした。 fopenからfreadの間で、 読み込みバッファをmallocで確保してmemsetでゼロクリアしている部分があり、 このクリアするサイズが確保したサイズを上回っていました。 なので、fopen直後のエラーチェックでも問題が起きてないのに落ちていたようです。 //私も一度はこれを疑って確認したんですけどね。 //レスもらってから改めて確認したらこのような状況になってました。 根本的な解決ができて良かったです。
- 118 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 01:18:26.20 ID:vsDUBYtf.net]
- 気付くだけ立派だわなぁ
- 119 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 07:00:04.87 ID:iLmpV78q.net]
- mallocで確保した領域の溢れがグローバルな変数を壊すってのは
ちょいと解せない気もする。 DOSの頃なら互いに影響しあうことも普通だったろうけど、 最近のOSだと別に管理してそう。 内部の詳しいことは知らないけど。
- 120 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 09:26:05.12 ID:SibbJTGE.net]
- >>118
お前はもう少し勉強してから書き込むべき
- 121 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 09:43:40.82 ID:CGvp0k11.net]
- エミュとかアドレスを固定してるけどどうやってんの?
- 122 名前:デフォルトの名無しさん [2016/12/25(日) 16:56:04.10 ID:xlX3oF2t.net]
- 質問です
エラーになってしまいます 教えて下さい C++11です int n=0; string hage="s"+n+".png";
- 123 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 17:03:23.30 ID:YVZO5C9V.net]
- "s"と".png"はconst char*型なので+は無理
- 124 名前:デフォルトの名無しさん [2016/12/25(日) 17:09:24.52 ID:xlX3oF2t.net]
- そうなんですか…
ありがとうございました
- 125 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 22:48:16.54 ID:oxH1mE2q.net]
- >>120
最初に、すべてのアドレス分のメモリを確保すれば? その先頭アドレスを、エミュレータの先頭アドレス・0 にすればいい
- 126 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 01:40:19.72 ID:Us2MOZON.net]
- >>121
標準で用意されているのはstringとstring/char/char*間のみ(operator+) なので+するのをintでなくstringにすればいける C++11ならto_stringがあるから次ので問題ない string hage = "s" + to_string(n) + ".png"; 細かい書式設定とかしたいならsstreamかsnprintfあたりで
- 127 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 08:42:54.29 ID:w1n6Bp69.net]
- >>124
それじゃ起動毎に変わるんじゃね?
- 128 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 09:21:17.58 ID:5lDUjv3x.net]
- 起動毎にホスト上でのメモリ配置が変わっても
エミュレータの駆動機構で >>124 のように エミュレーションする対象の仮想コードのアドレッシング → ホスト環境の実メモリ の変換テーブル経由なら問題は発生しないべ
- 129 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 12:36:41.62 ID:bq11e3Cp.net]
- >>125
ありがとうございます! あとでやってみます
- 130 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 16:52:23.77 ID:vHVIx8+p.net]
- ASLRのことなら、無効にする事が出来る
- 131 名前:デフォルトの名無しさん [2016/12/27(火) 00:09:30.60 ID:hMHSnQwo.net]
- >>127を分かりやすく言うと配列みたいなもんだ。
int foo[5]; と宣言すれば、起動毎に確保されるアドレスは違うが、 例えば3番目のアドレスには必ず&foo[3]でアクセスできる。 これと同じ。
- 132 名前:デフォルトの名無しさん [2016/12/28(水) 09:29:29.21 ID:
]
- [ここ壊れてます]
- 133 名前:jHXCJg+4.net mailto: OggVorbisの使い方を教えてください。
動的リンクライブラリとしてリンクして、 WAVEデータをリアルタイムでOggVorbis形式(CBR)に変換したいです。 VS2015です。 一応ググりましたがどこから手を付けてよいか分かりませんでした。 [] - [ここ壊れてます]
- 134 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 11:23:40.53 ID:BmYU7N0Q.net]
- ttps://xiph.org/doc/
ここから必要な文書を探して読んで理解するのが本筋
- 135 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 16:11:48.53 ID:8v6iajLL.net]
- ある本の解答例ですが実行すると先頭文字が消えます。これではダメなんでしょうか?
void str_toupper(char *str) { while (*str) *str++ = toupper(*str); }
- 136 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 16:20:34.34 ID:ADMXNhyN.net]
- *str++ = toupper(*str);
これ鼻から悪魔コード インクリメント演算子で操作された変数が副作用完了点までに複数回参照するのは動作未定義 *str = toupper(*str); str++; と分離しないとまずい
- 137 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 17:17:13.63 ID:Z7Smo6OK.net]
- *str++ = toupper(*str); でダメなら
*str = toupper(*str++); で動くんじゃない? ……って真に受けるなよ。別の悪魔が出てくるだけだからな。 たとえ期待通りの動作になったとしても、たまたまだからな。
- 138 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 17:24:22.85 ID:xodGK7fu.net]
- ポインタを直接インクリメントするのはどうにも性に合わん
- 139 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 17:38:17.18 ID:nERH8viD.net]
- 通る道なのでやさしくね
- 140 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 18:30:26.25 ID:K1FrsN4c.net]
- >>133
その本がダメなコードの例としてそれを挙げてるならいいけど、正解としてそれを書いてるのなら、著者の能力とか校正の正確さとか不安になる。
- 141 名前:133 mailto:sage [2016/12/31(土) 19:18:21.55 ID:8v6iajLL.net]
- >>138
正解例です >>135 下でダメだったので正解を見たら上になってて、そうかとそうかと思ったのですが… >>134 ありがとうございます 初心者なので更に勉強してみます
- 142 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 20:02:29.25 ID:RP5GqFRc.net]
- 本の題名晒してもいいと思う...
- 143 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 20:11:53.63 ID:ADMXNhyN.net]
- 古かったとして、古い規格だとしても処理系依存
(こっちのコンパイラはこうなるけど、あっちのコンパイラでは別の結果になるよ) なので、 正解コードとするのはよろしくない
- 144 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 20:17:55.00 ID:q3l2oU5w.net]
- なぜダメなのか何がダメなのか理解しとかないと
- 145 名前:デフォルトの名無しさん mailto:sage [2017/01/01(日) 01:32:25.83 ID:LgRst/uw.net]
- >>139
まじすか ちょっとひどいですね。 著者が知りたいです。
- 146 名前:デフォルトの名無しさん mailto:sage [2017/01/01(日) 12:42:18.55 ID:/LG195GI.net]
- str_toupperでググると正しいコードはあるけど >>133 は見つからないなあ。結局なんて本?
- 147 名前:133 mailto:sage [2017/01/01(日) 14:53:59.97 ID:OFpbxODd.net]
- 解きながら学ぶC言語(2006年第5刷)ですが、新版見てみたら >>134 のように修正されてました
- 148 名前:デフォルトの名無しさん mailto:sage [2017/01/01(日) 17:19:11.24 ID:LgRst/uw.net]
- 望洋先生すか あちゃー
- 149 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 01:18:25.55 ID:frbRBuKj.net]
- 副作用完了点が2つ以上あると鼻から悪魔
- 150 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 01:40:21.76 ID:8dyTsCQL.net]
- んなこたーない
- 151 名前:1/2 [2017/01/04(水) 02:39:58.96 ID:9INFfbdp.net]
- このサイトを参考にコードを書いているのですが、レスポンス中に無反応になります。
助けてください。 qiita.com/edo_m18/items/41770cba5c166f276a83 このコードとの差異は以下の通りです。 ---------------------------------------------------------- read_size = SSL_read(ssl, buf, buf_size);の前に memset( buf, 0, buf_size
- 152 名前: );を挿入
write(1, buf, read_size);を printf("%s",buf);に変更 close(sock);の後に printf("OK.\n");を挿入 拡張子をcppとし、C++としてコンパイル。 ---------------------------------------------------------- この変更したコードのprintf("%s",buf);で不具合が生じます。 不具合パターンは以下の2通りです。 ・ 恐らく受信したHTMLの最終部分と思われる</body></html>を出力後、2行ほどの空行、そして0という数字が出力された後、無反応になる。 ・ レスポンスヘッダやHTMLコードの途中で無反応になる。 無反応時にはEnterキーもCtrl+Cも効きません。 しばらくすると、効くようになります。 但し、printf("OK.\n");によるOKが出力されませんので、異常終了している可能性が高いです。 [] - [ここ壊れてます]
- 153 名前:2/2 [2017/01/04(水) 02:40:11.64 ID:9INFfbdp.net]
- 環境は以下の通りです。
OS: CentOS 6.4 コンパイラ: GCC 4.4.7 接続先: https://www.youtube.com/ その他、無反応中にnetstat -tanpコマンドで確認すると、 このアプリケーションはESTABLISHEDとなっています。 また、自宅サーバーのHTTPSのサイトへアクセスした場合、HTMLの最後のほうの</body>が出力された後に数秒の間があり、 その後、</html>が出力されて正常に終了します。 この数秒の間も気になります。 よろしくお願いします。
- 154 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 03:14:24.95 ID:sO2gccKh.net]
- >>149
> printf("%s",buf);に変更 %sは文字列のアドレスを引数として受けてそれを出力する C言語で文字列とはNUL終端されたバイト列だが SSL_readは文字列ではなく只のバイト列を扱うからNUL終端なんてしていない そのために受信した文字列以上のおそらくbufの領域を越えて偶然にゼロに 出くわすまでprintfが出力しているんだろう 付け加えると、サーバーから送られてくるバイト列中にゼロが含まれていると 文字列として扱おうとしたprintfはそこまでで終わりと見做してしまう 例えば2ちゃんはたまにそんなHTMLを返してくることがあっていい加減な作りの 自作アプリなんかが途中までしか表示しないとかいう不具合を出す
- 155 名前:149 mailto:sage [2017/01/04(水) 03:47:33.12 ID:9INFfbdp.net]
- >>151
ありがとうございます。 初歩的なミスでお恥ずかしい。 バイナリデータとしてファイルに出力したところ正常に動作しました。(ファイルの内容にも問題ありませんでした) 恐らくマルチバイト文字の途中か何かで切れていたのでしょう。
- 156 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 08:50:07.15 ID:hKIlPOcN.net]
- マルチバイトなんか関係ない
> write(1, buf, read_size);を > printf("%s",buf);に変更 すんなって事だよアホウ
- 157 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 09:47:31.23 ID:87+T0pXS.net]
- もしくは1.1sだな
- 158 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 09:53:13.47 ID:dvUWMEVx.net]
- printf("%.*s", read_size, buf); なら少しだけ
それでも read_size に至る途中に \0 あったら駄目だし 標準出力に送りたいんなら fwrite(buf, read_size, 1, stdout); こうなるかな
- 159 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 09:54:39.63 ID:dvUWMEVx.net]
- 元質問みてなかった わーすーれーてー
- 160 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 12:32:23.72 ID:xue+qv3N.net]
- 「んなこたーない」
っていつも書き込みする人がいるけど もっと具体的な回答してほしい。 「んなこたーない」って答えるくらいだから何かしらの反論や回答持ってるんだろうけど もっと具体的に言ってくれなきゃ分からない。
- 161 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 12:37:37.48 ID:FLMu+DIB.net]
- そういうのはとりあえず否定したいだけだからスルーでいいよ
回答なんか持って無いと思うし
- 162 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 13:56:51.11 ID:x5I82FL9.net]
- 0x00がないと、どこまでもぉ って事だけで。
- 163 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 15:05:14.50 ID:CkccjIZ7.net]
- 俺はとりあえずこんなのを提案する(
- 164 名前:)
do { memset( buf, 0, buf_size ); read_size = SSL_read(ssl, buf, buf_size-1); printf("%s",buf); } while(read_size > 0); do { memset( buf, 0, buf_size ); read_size = SSL_read(ssl, buf, buf_size); for(int i=0; i < read_size; ++i){ printf("%c",buf[i]); } } while(read_size > 0); [] - [ここ壊れてます]
- 165 名前:148 mailto:sage [2017/01/04(水) 15:11:07.58 ID:8dyTsCQL.net]
- >>157
さすがにこれは説明要らんだろうと思うよ・・・。 「副作用完了点が2つ以上」って、 str++; str++; こんなのでアウトってことだからね。
- 166 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 17:51:37.32 ID:ku1IYB1y.net]
- んなこたーない
- 167 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 18:08:39.09 ID:issqqmbF.net]
- do while()って嫌いだから使わん
- 168 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 18:10:34.06 ID:dvUWMEVx.net]
- マクロのおまじないでも?
#define FOO() do { あーだこーだ } while(0)
- 169 名前:デフォルトの名無しさん [2017/01/04(水) 18:15:56.08 ID:pxTed+R/.net]
- >>147
言いたいことはわかる気がするが、その文面は明らかに間違っているでしょ。 エスパーすると、 「副作用完了点と副作用完了点の間で、同一の変数を複数回変更する」 と、鼻から悪魔、かな?
- 170 名前:デフォルトの名無しさん [2017/01/04(水) 18:17:44.69 ID:pxTed+R/.net]
- まだ甘いか。
「ある副作用完了点と、次の副作用完了点の間で、同一の変数を複数回変更する」 かな?
- 171 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2017/01/04(水) 18:21:17.85 ID:83LRywdJ.net]
- gotoで地獄へ行くのをdo/break/whileに書き換えることができる。
... goto hell; ... goto hell; ... hell: ... return 0; ↓↓↓ do { ... break; ... break; ... } while (0); ... return 0;
- 172 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 19:49:00.69 ID:wOLmnoYC.net]
- >>157
人としての最低限の知能を持ち合わせて調べ直せば本人なら気付くレベルの時しか言っていないのでいつも本人からの訂正レスを待っているのだが、 何故か絶対に自分の発言を撤回したがらないようだ
|

|