0
有沒有辦法讓strtok()不能將空格解釋爲分隔符? 我從.csv文件讀取,和我的代碼有:strtok使用錯誤的分隔符(空格以及「,」)
ifstream inf("file.csv");
char *n, *a, *b;
char n1[80], a1[80], b1[80], temp[80];
inf >> temp;
n = strtok(temp, ",");
strcpy(n1, n);
a = strtok(NULL, ",");
strcpy(a1, a);
b = strtok(NULL, ",");
strcpy(b1, b);
cout << a1 << " " << b1 << endl;
文件內容:
123,San Francisco, Los Angeles
我覺得strtok的解釋空間,「\ n」,但我不知道如何忽略它。 我試圖把inf.ignore(''),但不起作用,並給我一些隨機值。但是,如果我將文件更改爲123,則San_Francisco,Los_Angeles 然後該程序起作用。 我怎麼能忽略空格?
同意。如果你在做C++,而作業是關於讀取.csv而不是關於strtok函數,那麼使用getline並使用temp.find_first_of或temp.find_first_not_of。 –
如果你正在輸入一個關於stackoverflow的評論,並且你輸入了,你將會有一段糟糕的時間。 :) –
問題是,我們必須你strtok。它並沒有說不能使用getline,所以我會盡量使用它。 – user1078719