我有这个字符串:
char *path = " one\\\two\\\five\\\six";
当每个单元格都是字符串时,我想将它分成一个数组。我正在使用strtok
,购买我的问题是计算为数组分配多少空间。
我正在这样做:
for ( i = 0 ; i < strlen(path) ; i++)
{
if (path[i] == '\' && path[i+1] == '\') /*doesn't work! :( */
counter++
}
比较器行不工作......我也试过写:“\”但它也不起作用。怎么了?
编辑我正在尝试使用 strtok 并且它变得凌乱:(
char seps[] = "\\";
char *elemName = NULL;
elemName = strtok( path, seps );
while( elemName != NULL )
{
/* While there are tokens in "string" */
/*copy the elemName*/
stringArr[runner] = strdup(elemName);
/* Get next token: */
elemName = strtok( NULL, seps );
}
printf("printing the strings!!!!\n");
for ( i = 0 ; i < arr_size ; i++)
{
printf (" %s \n " , stringArr[i]);
}