Hola:
Tengo un programa de diseño de etiquetas el cual una vez que tengo diseñada la etiqueta me genera un archivo de texto con el juego de instrucciones que le envia a la impresora. Dicho archivo yo lo tengo que tratar para introducirle una instrucción que el pograma de deseño no contempla y por eso se la tengo que introducir yo.
El problema es que anteriormente utilizaba otro programa el cual me generaba dicho fichero poniendo una instrucción por línea, pero el nuevo pone 2 o más instrucciones en una misma línea. Necesito leer dicho fichero y guardalo en otro poniendo cada instrucción en una sóla línea.
Este es un ejemplo del fichero que generaba el primer programa de diseño de etiquetas:
#!A1
#BON
#IMS54.0/25.0
#DC
#N9
#ERN0
#T6.2
#J3.9
#M1/1
#YN101/1/40///**031#G
#T12.1
#J6.4
#M1/1
#YN101/0/181///**019#G
Este es el código que genera el nuevo programa:
#!A1#BON
#IMSR54.02/24.98
#DC#N9
#ERN0
#T16.26 #J13.55
#YIR43/ÿ
@ þ( þ' þ& þ% þ$ þ#
þ" þ! þ þ¬
þ þ þ þ
þ þ þ þ
þ þ þ þ ¬ þ þ ! þ@ þ " þ@ þ $ þ ) þ#G
Siendo la última línea la instrucción referente a una imagen que he introducido y la cual me da problemas al leer del fichero original y grabarla en uno nuevo, donde separo cada instrucción en una línea. Sólo me coge los diez primeros caracteres.
Este es mi problema. Lo que he hecho es abrir el fichero original y el de destino mediante la clase TstringList, pero al leer cada línea como cadena, no consigo grabar en el fichero destino dicha instrucción tal cual está en el original.
Otra de las cosas que he intentado es esta:
FILE *forigen;
FILE *fdestino;
forigen = fopen(rutaFicheroInAux.c_str(),"r");
fdestino = fopen("c:\destino.txt","w");
char caracter = ' ';
char caract_aux = ' ';
while(!feof(forigen))
{
fscanf(forigen,"%c",&caracter);
if(caracter == '#')
{
caract_aux = '\n';
fprintf(fdestino,"%c",&caract_aux);
caract_aux = '\r';
fprintf(fdestino,"%c",&caract_aux);
fprintf(fdestino,"%c",&caracter);
}
else
fprintf(fdestino,"%c",&caracter);
}//fin del while
fclose(forigen);
fclose(fdestino);
Pero no me graba en el fichero destino caracteres ‘B’ y ‘C’, todos en una misma línea. Pensaba que leyendo el fichero origen carácter a carácter y grabandolo de la misma manera en el fichero destino tendría éxito, pero no ha sido así.
Por favor me gustaría que me mostraseis otra opción para conseguir mi objetivo.
Muchas gracias.