int i = 0;
while (fscanf(fi, "%[^,],%[^,],%[^,],%[^,],%[^\n]\n", buf.first,
buf.second,
buf.third,
buf.fourth,
buf.fifth) == 5)
{
if (i == 0)
{
ptr->pid = atol(buf.first);
ptr->name = buf.second;
ptr->ram = atoi(buf.third);
ptr->size = atof(buf.fourth);
ptr->os = buf.fifth;
}
i++;
}
printf("%li %s %d %.2f %s\n", ptr->pid, ptr->name, ptr->ram, ptr->size, ptr->os);//test
キャプチャ2の後に動作していないfscanfをスキャンセット
C改行
はとにかくスキャンに問題がある、私は、\ rを\私の入力ファイルを置き換えますnsは\ nで、間違った項目をスキャンします。入力ファイル内のすべての行の最後に昏睡を追加し、スキャンで "\ n"を "、\ n"に置き換えると、最初の要素は右に表示されますが、他の要素はスキャンされません。
問題を解決する人は誰でも、クッキーに値する人です。
*イメージリンクを申し訳ありません。直接画像を投稿するには十分な評判がありません。*あなたの質問に写真を添付するには評判は必要ありません。 –
OPの画像をインラインで追加しました。 –
'" \ n "'はスクエアセットの中の角括弧の外側にあり、0個以上の空白を意味します。ライブラリは、フォーマット文字列の最後の '\ n 'のために空白以外の何かを待っています。提案: 'fgets()'で行を読み込み、必要に応じて 'sscanf()'で解析します。 – pmg