簡易的にテキストファイルからデータを持ってきたいとき、今時は使わないかもだけど、
fscanf_sなどを使っている。普通に使う分には問題ないのだけど、スペースを含む文字列
を持ってきたい時には困る。スペースを区切り文字だと勘違いしてしまうのだ。
そこで、1行づつ入力して、strtok_sを使ってトークンで区切って持ってくるのが良いみたい。
strtok_sは若干扱いにくいのでココにメモ。
// ファイルオープン
fopen_s(&fp, filename, "rb");
// 改行まで一列読み込む
fgets(str, _countof(str), fp);
// これでタブまでの文字列がゲットできる
str2 = strtok_s(str, "\t", &ctx);
// 二つ目以降はNULLを指定する
str3 = strtok_s(NULL, "\t", &ctx);
ざっくりこんな感じ。\tのトコはコンマとか色々入れられるらしい。ちょいとハマった。
0 件のコメント:
コメントを投稿