Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo leer una o más líneas de datos especificadas en un texto usando C++?

¿Cómo leer una o más líneas de datos especificadas en un texto usando C++?

Simplemente usa la función fgets.

1. Función fgets:

Prototipo: char * fgets(char * buf, int bufsize, FILE * stream);

Función: desde el puntero de la estructura del archivo; Lea los datos de la secuencia, una línea a la vez;

Descripción: los datos leídos se almacenan en buf y los datos leídos se almacenan en la matriz de caracteres a la que apunta bufsize. Un máximo de bufsize- puede ser. leer cada vez. 1 carácter (al primer carácter de tamaño buf se le asigna \0). Si la línea tiene menos de bufsize caracteres, se lee el final de la línea. Si la línea tiene más de bufsize-1 caracteres, fgets devuelve solo una línea incompleta, el buffer buf termina con \0 caracteres y la siguiente llamada de fgets. Continúe leyendo el número restante de caracteres en la línea;

Archivo de encabezado: stdio.h;

Valor de retorno: si la lectura es exitosa, el mismo puntero de carácter que el parámetro buf se devuelve si se encuentra un EOF o un error durante la lectura, se devuelve un puntero NULL. Por lo tanto, cuando encuentre un valor de retorno NULL, debe usar la función ferror o feof para verificar si ocurrió un error o si se encontró EOF. Ejemplo: #include

int?a;

char?b,c[100];

int?main(){

FILE?*?fp1?=?fopen("input.txt",?" r");//Abrir el archivo de entrada

FILE?*?fp2?=?fopen ( "output.txt",?" w");//Abrir el archivo de salida

if?(fp1==NULL?||?fp2==NULL)?{Si el archivo no se puede abierto, salir

puts("¡No se puede abrir el archivo!") )

regresar?;

}

fscanf(fp1," %d", &a);//Leer un número entero del archivo de entrada

b=fgetc(fp1);//Leer un carácter del archivo de entrada

fgets(c, 100, fp1);//leer una línea de cadena del archivo de entrada

printf("%ld",ftell(fp1));//generar el número de bytes desplazados desde la posición actual del puntero fp1 en relación con el encabezado del archivo

fputs(c,fp2);//Escribe una cadena en el archivo de salida

fputc(b,fp2) ;/ /Escribe caracteres en el archivo de salida

fprintf(fp2,"%d",a);//Escribe números enteros en el archivo de salida

fclose(fp1);// Cerrar el archivo de entrada

fclose(fp2);//Cerrar el archivo de salida, lo que equivale a guardar

return?0;

}.