ファイルから構造体に文字列を読み込もうとしていますが、2 つ以上の単語を含む文字列に到達すると、試みているように見えるすべてが機能しません
ファイル内のデータ
「K300」「キーボード」「USジェネリック」 150.00 50
"R576" "16 インチ リム" "トヨタ ヴェロッサ" 800.00 48
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct partInfo {
char number[6];
char name[20];
char description[30];
double price;
int qty;
}Part;
int main() {
char num[6], name[20], desc[30];
int i=0;
int q;
double p;
char ch;
FILE * in = fopen("input.txt", "r");
Part part1;
fscanf(in, " %[^ ]s", &num);
printf("%s\n", num);
fscanf(in, " %[^ ]s", &name);
printf("%s\n", name);
fscanf(in, " %[^ ]s", &desc); //right here only copy "US and not the Generic"
printf("%s\n", desc);
strcpy(part1.number, num);
strcpy(part1.name, name);
strcpy(part1.description, desc);
fclose(in);
return 0;
}
しかし、私が使用しようとすると
fscanf(in, " %[^\n]s", &desc);
それは私が2日間これに固執していた残りの行をコピーします誰かが私を助けてくれますか、それが可能であれば二重引用符を取り除く方法も教えてください。 (