1
CSVファイル内の "列"をカウントしたい場合、その要素の文字列パターンを指定します。scanf( "...%n"、...)失敗した一致の場合
パターンと1,2,3,4
"%dを、" 例では '' 私は私が持っている問題は、不足している区切り文字です。この
offset = 0;
strcpy(var_pattern, pattern) // e.g. pattern = "%d,"
strcat(var_pattern, "%n")
while (sscanf(&line[offset], LINE_SIZE, buf,var_pattern,&bytes_consumed > 0) {
count++; // column counter
offset += bytes_consumed
};
のようなトークナイザを書い4.
返す必要がありますCSVファイル行の最後の要素に適用されます。
c = sscanf("12","%d,%n",&a,&b)
行うLINUX64/GCCでC = 1(一致したパターンの数)= 12およびb = 32767(消費されたバイト)を与えます。これは(馬鹿馬鹿しい)行動の標準/プラットフォーム特有ですか?バグですか?
私はstrtokや正規表現がパッケージ化されていることを知っていますが、標準的な方法を使いたいと思っていました。
TIA