Red de conocimiento informático - Aprendizaje de código fuente - Reemplazo de lotes de texto, ¿cómo reemplazar XX por lotes con 0xXX (usado en la programación en lenguaje C del microcontrolador)?

Reemplazo de lotes de texto, ¿cómo reemplazar XX por lotes con 0xXX (usado en la programación en lenguaje C del microcontrolador)?

Hay muchos métodos que se pueden utilizar. La idea básica es abrir un archivo, leer los datos del archivo, almacenarlos en un nuevo archivo después del procesamiento y finalmente cerrar los dos archivos. ?

Según los pasos de procesamiento, se dan como ejemplos dos métodos comúnmente utilizados:

1 Dado que XX se reemplaza con 0xXX, es adecuado para la conversión hexadecimal, por lo que el hexadecimal puede ser. lea el valor uno por uno y luego ingréselo en un nuevo archivo con 0x. ?

Código de referencia: #include?

int?main()

{

ARCHIVO?*in =fopen("in.txt","r"),?*out=fopen("out.txt",?"w");//Abre dos archivos.

unsigned?char?c;

while(fscanf(in,?"%02X",?&c)?=?EOF)//Bucle para obtener datos.

{

fprintf(out,?"0x%02X,",?c);//Aumentar 0x y generar un nuevo archivo. ?

}

fclose(in);

fclose(out);//Cerrar el archivo.

return?0;

}

2. Dado que el archivo original es un conjunto de dos datos hexadecimales, cada vez que se leen dos datos hexadecimales, puede Se considerará que se obtiene un número hexadecimal legal, que puede usarse como base para la entrada y la salida. ?

Código de referencia: #include?

int?main()

{

ARCHIVO?*in =fopen("in.txt","r"),?*out=fopen("out.txt",?"w");//Abre dos archivos.

char?c[2];

int?t;

mientras(1)

{

t=fgetc(in);

if((t>='0'&&?t<='9')||?(t>='a'&&?t<='f ')?||?(t>='A'&&?t<='F'))//Número hexadecimal legal

{

c[0] =? t;

c[1]?=?fgetc(in);//Obtiene dos dígitos consecutivos.

fprintf(out,?"0x%c%c,",?c[0],c[1]);//Aumentar 0x y generar un nuevo archivo. ?

}

else?if(t==EOF)?break;//Hasta el final del archivo, sal del bucle

}

fclose(in);

fclose(out);//Cerrar el archivo.

regreso?0;

}