[C++] ¿Cómo utilizar la función strtok para dividir una cadena cuando el delimitador tiene varios espacios?
La función strtok puede definir múltiples delimitadores. "Múltiple" se refiere a varias variedades, como espacios en blanco, comas y punto y coma:
strtok(code, " ,;"); p>
Es decir, el espacio en blanco es un delimitador, la coma es un delimitador y el punto y coma también es un delimitador. No significa que los tres símbolos de "coma en blanco y punto y coma" estén combinados en un delimitador.
Entonces, para la función strtok, escribiste 3 espacios en blanco, pero el delimitador realmente definido es 1 espacio en blanco.
Cuando el delimitador tiene varios espacios, puede escribir su propia función y usar una instrucción de bucle para verificar carácter por carácter. Si encuentra 3 espacios en blanco seguidos, reemplace el tercer espacio en blanco con una coma. Luego use strtok(code, ","); para hacerlo.