我查看了相关主题,尝试了一些示例,并没有发现任何可以帮助我的内容。
我正在输入一个字符串作为输入,例如char str [50] 它具有以下格式删除1 1 删除可以是另一个具有不同长度的单词 整数的数量可能超过2 如果可能的话,我需要将字符串的每个部分存储在数值int的不同变量中
我尝试使用strcmp stracat strtok strstr但显然我错过了一些东西
$.when.apply(jQuery, saveChanges()).done(...);
这是我最近的尝试。我尝试做的是删除空格字符,然后我可能会识别删除后面的单词,例如如果是删除或者是strstr的其他单词。但是如何分离数值?这是我的输出如何摆脱这些字符
char str[] = "Remove 2 3 2";
char * pch;
char split[50];
printf("Splitting string \"%s\" into tokens:\n", str);
pch = strtok(str, " ");
while (pch != NULL) {
printf("%s\n", pch);
strcat(split,pch);
printf("\nThe string is %s",split);
pch = strtok(NULL, " ");
}
答案 0 :(得分:1)
strcat连接。我相信你想要的是逐个获得拆分部分,而不是将它们连接起来。
所以你最好尝试这样的事情:
char split[MAX_NUM_TOKENS][50];
int num_tokens = 0;
而不是strcat,使用类似的东西:
strcpy(split[num_tokens], *pch);
printf("The string is %s\n",split[num_tokens]);
num_tokens++;
答案 1 :(得分:0)
据我了解你可能希望每个字符串组件成为一个单独的变量,那么为什么不使用数组呢?
只检查空间并忽略它们
char str[] = "hi 1 2 3";
char store[100];
int i=0,j=0;
for(i = 0,j = 0; i <= strlen(str); i++){
if(str[i] != 32) { // value of space is 32
store[j] = str[i];
j++;
}
}
for( i = 0; i < strlen(store); i++){
printf("%c\n",store[i]);
}
输出
h
i
1
2
3