funciona asi: antes de encontrar el apostrofe copia todo excepto los espacios cuando encuentra un apostrofe token cambia a 1 y por tanto copiara todo incluyendo espacios cuando vuelve a encontrar un apostrofe token cambia a cero y de nuevo deja de copiar espacios
#include <stdio.h>
#include <stdlib.h>
int main()
{
int posicion;
int token=0;
int contador=0;
char cadena[]="A BCD EF '12 3 45' GHI'67 890' JK '1' L";
char resultado[2045];
for(posicion=0;posicion<sizeof(cadena);posicion++)
{
if(cadena[posicion]!=' ' && token==0)
{
resultado[contador]=cadena[posicion];
contador++;
}
if(token==1)
{
resultado[contador]=cadena[posicion];
contador++;
}
if(cadena[posicion]=='\'')
{
if(token==0)
{
token=1;
}
else
{
token=0;
}
}
}
return 0;
}
}