No se si es exactamente esto lo que quieres. El código que te dejo aquí guarda los fragmentos entrecomillados de un fichero, en un fichero de texto de salida. He hecho la prueba con el fragmento que dejaste y parece que funciona.
Te lo dejo en este blog: http://cypascal.blogspot.com.es/2013/04/lectura-palabras-entrecomilladas-en-cc.html
Y aquí también:
Salu10
Edito: No me di cuenta que lo tenías en C++, sorry...
Te lo dejo en este blog: http://cypascal.blogspot.com.es/2013/04/lectura-palabras-entrecomilladas-en-cc.html
Y aquí también:
Código [Seleccionar]
#include <stdio.h>
#include <string.h>
int main(void)
{
FILE *dat,*dat2;
char nombre[50],c;
printf("Nombre del fichero a leer: "); scanf("%s", &nombre);
if (fopen(nombre,"r")==NULL)
printf("\nEl fichero no existe.\n\n");
else
{
dat=fopen(nombre,"r");
dat2=fopen("salida.txt","w");
fscanf(dat,"%c",&c);
while (!feof(dat))
{
if (c=='"')
{
fscanf(dat,"%c",&c);
while ((!feof(dat))&&(c!='"'))
{
/*Aquí es donde se guardan los datos entre comillas*/
/*En este caso imprime en fichero de texto*/
fprintf(dat2,"%c",c);
fscanf(dat,"%c",&c);
}
fprintf(dat2,"\n");
}
fscanf(dat,"%c",&c);
}
fclose(dat);
}
return 0;
}
Salu10
Edito: No me di cuenta que lo tenías en C++, sorry...