Tag: tokenize

删除char数组中的第一个标记,并将其余标记保留在C中

所以如果我在C中有以下char数组: “abc” // where “a”, “b”, and “c” can be char arrays of any length and the // space between them can be of any length 如何删除“a”标记但将其余的“bc”存储在char指针中? 到目前为止,我已经实现了以下不起作用的方法: char* removeAFromABC(char* a, char* abc) { char* abcWithoutA[MAXIMUM_LINE_LENGTH + 1]; int numberOfCharsInA = strlen(a); strcpy(abcWithoutA, (abc + numberOfCharsInA)); return abcWithoutA; }

c中的字符串标记生成器

下面的代码将使用空格分解字符串命令,即“”和句号,即“。”。 如果我想使用空格和完全停止(同时)的出现来分解命令,而不是每个都自己,例如命令如下:’hello .how are you’将被分解成碎片(忽略引号)[你好] [你今天好吗] char *token2 = strtok(command, ” .”);

在C中拆分带有多字符分隔符的char字符串

我想基于多字符分隔符拆分char *string 。 我知道strtok()用于分割字符串,但它适用于单字符分隔符。 我想基于诸如”abc”子字符串或任何其他子字符串来拆分char * string。 如何实现?

指针算术的问题 – 尝试标记输入字符串

目前我正在开发一个程序,允许用户输入一个字符串然后进行标记化,然后使用指针数组将标记打印到屏幕上。 通过调用我的tokenize函数来“执行”这个操作,该函数读取输入字符串直到第一个分隔符(”,’,’,’。’,’?’,’!’)。 然后它将我的字符串中的分隔符更改为NULL char。 然后它应该返回一个指向我的字符串中的下一个字符的指针。 在输入字符串之后的main中,它应该继续调用tokenize函数,该函数返回指针,然后存储在指针数组中以便稍后打印我的标记。 一旦tokenize()返回一个指向NULL字符的指针,该字符位于我的字符串的末尾,它就会从该循环中断开。 然后我使用我的指针数组打印出令牌。 //试图详细说明 #include #include char *tokenize ( char *text, const char *separators ); int main ( void ) { char text[30]; char separators[6] = { ‘ ‘,’.’,’,’,’?’,’!’,’\0′}; char *pch = NULL; int tokens[15]; int i = 0; int j = 0; printf(“Enter a string: \n”); fgets( text, 30, […]

C – 确定使用哪个分隔符 – strtok()

假设我正在使用像这样的strtok() .. char *token = strtok(input, “;-/”); 有没有办法找出实际使用哪个令牌? 例如,如果输入是这样的: 你好; 你好吗? /我很好 – 结束 我可以找出每个令牌使用哪个分隔符? 我需要能够输出特定的消息,具体取决于令牌后面的分隔符。

函数’strtok_r’的隐式声明尽管包括

我有以下代码来标记包含由\n分隔的行的字符串,每行包含由\t分隔的整数: void string_to_int_array(char file_contents[BUFFER_SIZE << 5], int array[200][51]) { char *saveptr1, *saveptr2; char *str1, *str2; char delimiter1[2] = "\n"; char delimiter2[2] = " "; char line[200]; char integer[200]; int j; for(j = 1, str1 = file_contents; ; j++, str1 = NULL) { line = strtok_r(str1, delimiter1, &saveptr1); if (line == NULL) { break; } for […]