トップページ > プログラム > 2016年10月11日 > yDjM8vhd0

書き込み順位&時間帯一覧

21 位/179 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000020000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん (ワッチョイ d919-hgF0)
ふらっと C#,C♯,C#(初心者用) Part125 [無断転載禁止]©2ch.net

書き込みレス一覧

ふらっと C#,C♯,C#(初心者用) Part125 [無断転載禁止]©2ch.net
38 :デフォルトの名無しさん (ワッチョイ d919-hgF0)[sage]:2016/10/11(火) 17:06:07.06 ID:yDjM8vhd0
>>35
sfがstringであることぐらいは質問文の中に欲しいなー
stringに対して [index] でアクセスするとchar型、つまりUTF-16の文字コードが取得できる
それぞれの文字コードが指す文字は
13: CR(=\r)つまり改行文字
32: (いわゆる半角の)空白文字
CRが見つかるまでループしてるのはコメント通り1行分を読み込んでるから
空白文字の方はちょっと特殊だけど、文字コード0〜31は制御コードって言う
「文字ならざるもの」を入れておく領域になっているんで、
つまり文字として有効かどうかをチェックしてる
ふらっと C#,C♯,C#(初心者用) Part125 [無断転載禁止]©2ch.net
40 :デフォルトの名無しさん (ワッチョイ d919-hgF0)[sage]:2016/10/11(火) 17:47:59.14 ID:yDjM8vhd0
>>36
pinvoke.netのDllImport定義使ってる?
なんでかFindFirstUrlCacheEntryだけEntryPoint書いてるけどなぜかそれが
FindFirstUrlCacheEntryAを明示してるからそっちはANSIでNextのほうはUnicode呼び出しになる
EntryPoint消して、stringへの変換はMarshal.PtrToStringAuto使うようにする

あとFindNextUrlCacheEntryは返値見て失敗したらMarshal.GetLastError呼び出し
バッファ不足か列挙終了か確認する必要がある

そもそも最初に呼び出したFindFirstUrlCacheEntryで得られたバッファサイズはFindNextUrlCacheEntryでさらに拡張される可能性があるし
もし拡張されたらまたFindFirstUrlCacheEntryから呼び出し直しだから
はじめっから65536とか適当に大きいバッファ確保しておいて
FindNextUrlCacheEntryに渡すbufferSizeは毎回入れ直しておいた方がいい


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。