gpt4 book ai didi

c++ - strtok 使用了错误的分隔符(空格以及 ",")

转载 作者:行者123 更新时间:2023-11-28 03:35:54 25 4
gpt4 key购买 nike

有没有办法让 strtok() 不将空格解释为分隔符?我正在读取 .csv 文件,我的代码有:

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然后程序运行。我怎么能忽略空格?

最佳答案

不要责怪 strtok,它的 ifstream 在找到 whitespace 字符时会停止提取。如果您想阅读整行,您应该使用 getline() 变体之一。

关于c++ - strtok 使用了错误的分隔符(空格以及 ","),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10874880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com