10得票3回答
C语言 - 确定使用的分隔符 - strtok()

假设我正在像这样使用strtok()..char *token = strtok(input, ";-/"); 有没有办法找出实际使用的令牌?例如,如果输入如下: Hello there; How are you? / I'm good - End 我能否找出用于每个令牌的定界符?我需要能...

10得票4回答
包含<string.h>仍出现“strtok_r”函数的隐式声明

我有以下代码用于将包含以\n分隔的行和每行由\t分隔的整数的字符串进行标记化: void string_to_int_array(char file_contents[BUFFER_SIZE &lt;&lt; 5], int array[200][51]) { char *saveptr...

9得票3回答
在C语言中使用strtok()函数对字符串进行两次分词

我在C语言中使用strtok()函数来解析CSV字符串。首先,我将其标记化以仅查找有多少个标记,以便我可以分配正确大小的字符串。然后,我使用与上次标记化相同的变量进行遍历。但是,每次第二次这样做时,strtok(NULL, ",")返回NULL,即使还有更多的标记需要解析。请问有人能告诉我我做...

9得票4回答
C++分词标准字符串。

可能是重复问题: 如何在C++中对字符串进行标记化? 你好,我想知道如何使用strtok对std字符串进行标记化。 string line = "hello, world, bye"; char * pch = strtok(line.c_str(),","); 我遇到了...

9得票6回答
使用strtok()函数时,如何判断两个分隔符之间是否没有数据?

我正在尝试对字符串进行分词,但我需要知道在两个标记之间没有数据的确切时间。例如,在对以下字符串"a,b,c,,,d,e"进行分词时,我需要知道在 'd' 和 'e' 之间的两个空槽...但我无法仅使用strtok()找到这些信息。我的尝试如下: char arr_fields[num_of_...

8得票2回答
64位机器上的strtok函数

以下代码在64位和32位上的工作方式不同,这使得我移植代码时遇到了麻烦。 char * tmp = "How are you?"; printf("size of char * = %ld and size of strtok return val = %ld \n",sizeof(char...

8得票2回答
将字符串分解并存储在数组中

我想将一个句子分解并将每个字符串存储在数组中。这是我的代码: #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main(void) { int i = 0; char* strArray[40]; cha...

7得票5回答
C语言中的双重分割

好的。例如,我有一个txt文件,其中包含以下行: 1|1,12;7,19;6,4;8,19;2,2 可以看出,它由两部分组成,由|分隔。我没有问题获取这两个部分,并使用;分隔符分离第二部分 1,12;7,19;6,4;8,19;2,2。但是我在分隔每组数据的第一和第二个数字时遇到了问题,需要...

7得票5回答
strtok()问题:如果令牌由分隔符分隔,为什么最后一个令牌位于分隔符和空字符'\0'之间?

在下面的程序中,strtok()在大部分情况下都能按预期工作,但我无法理解一个发现背后的原因。我已经阅读了关于 strtok() 的资料: 要确定令牌的开始和结束位置,该函数首先从起始位置扫描第一个不包含在定界符中的字符(成为令牌的开始)。然后从该令牌的开始位置开始扫描第一个包含在定界符...

7得票5回答
从strtok()获取零长度字符串

我有一个包含类似以下内容的CSV文件: value;name;test;etc 我正在尝试使用strtok(string, ";")来拆分文本。然而,这个文件可能包含零长度的数据,就像这样: value;;test;etc strtok() 会跳过长度为零的数据。有没有办法可以避...