¿Hay alguna manera en C para dividir una cadena (usando strtok
o de cualquier otra manera) donde el delimitador tiene más de un carácter de longitud? Estoy buscando algo como esto:¿Hay alguna forma de dividir una cadena en varios caracteres en C?
char a[14] = "Hello,World!";
char *b[2];
b[0] = strtok(a, ", ");
b[1] = strtok(NULL, ", ");
Quiero que esto no dividir la cadena porque no hay espacio entre la coma y el W. ¿Hay una manera de hacer eso?
¿Eso es C o C++? – Jason
Es C si incluye '', y es C++ si dice 'std :: substr' e incluye' ', aunque en C++ no usaría punteros de caracteres desnudos para las cadenas. –
@Kerrek: Depende de lo que esté haciendo. Los pares de punteros de char desnudos funcionan muy bien para analizar archivos de texto mapeados en memoria sin necesidad de copias de datos o asignaciones. Los envuelves en una buena clase, por supuesto. –