>> ALTAVOZ 1: Vamos a escribir un programa que solicita al usuario los nombres y
casas de tres estudiantes.
Pero en lugar de sólo imprimir su nombres y casas a la pantalla, vamos a
en lugar guardar dicha información en el disco.
En otras palabras, vamos a crear, por ejemplo, un archivo CSV archivo, para los valores separados por comas,
que en realidad es sólo un archivo de texto que programas como Excel o números
puede abrir, y efectivamente salvar a los nombres y las casas de forma permanente para que
podemos revisarlos más tarde.
>> Para ello, primero vamos a echar un vistazo a algún código repetitivo que tengo
comenzado con ya.
Note primero que entre las cabeceras encima de la tapa es ahora lib.h norma que
pasa a tener algunas funciones relacionadas para presentar de E / S, entrada y salida de archivos.
Fíjate que yo también he declarado una constante llamada ESTUDIANTES -
en todas las tapas - cuyo valor se codifica duro como tres.
Note ahora que dentro de mi principal programa, estoy declarando un arreglo de
El tamaño de tres usando que constante llamada ESTUDIANTES cada uno de cuyos miembros es de
escriba los estudiantes.
>> Recordemos ahora que un estudiante que va a definir como tener un nombre y una casa de dos
que son cadenas como por esta Declaración se dan instrucciones, punto h.
Ahora, de vuelta en structs1.c, observe que han un bucle aquí que va a
iterar desde cero hasta tres.
Se va a pedir confirmación en un estudiante de nombre y la casa de un estudiante
una y otra vez y otra vez.
>> Luego en la parte inferior de este programa, cuenta de que tengo otro bucle for
eso va a liberar del estudiante ith nombre y la casa del estudiante i en un
construido de manera similar bucle.
Para estar seguros, podemos combinar esos bucles en uno solo, pero yo quería
tener algunos segmentos distintos de código por el bien de la discusión aquí.
>> Ahora entre los bucles for, vamos a en realidad tienen los otros, y de éste
propósito en la vida es salvar a toda la realidad de estos nombres y las casas que están
actualmente en la memoria RAM en el disco en forma de valores separados por comas.
Para ello, vamos a utilizar tres nuevas funciones -
F abierta, F printf y F de cerca, lo que abrir un archivo, imprimir en un archivo, y
cerrar un archivo.
Podemos usarlos como sigue.
>> FILE, en mayúsculas, que es algo de una curiosidad en C, FILE se fopen
, entre comillas y ahora un nombre para el presentar, por ejemplo, students.CSV, pero pude
llamar casi cualquier cosa, coma y ahora estoy va a especificar un único w interior
de comillas dobles.
W, como ya habrán adivinado ya, significa que fopen debe abrir este archivo
llamado Students.CSV para escribir de manera que en realidad podemos ahorrar algo
contenidos a la misma.
>> Vamos próximo cheque si el archivo no es igual a nulo.
Porque si lo es, algo tiene probablemente ido mal en cuyo caso se
no debe proceder a tratar imprimir nada a ella.
Pero si no es nulo, dentro del llaves que voy a repetir
de i es igual a 0 en un máximo de ESTUDIANTES, y yo voy a
Incremento de i en cada iteración.
Y dentro de este bucle, voy a fprintf fin de imprimir en un archivo -
específicamente el uno Ya abrí -
una cadena que tiene este% s,% s barra invertida n Cierre de comillas.
>> Y ahora quiero conectar a cada uno de los marcadores de posición de los valores reales
del nombre de un estudiante y una casa usando el operador punto.
I.name soporte de Estudiantes, estudiantes i.house soporte cerca paren
punto y coma.
Ahora por debajo de este bucle, estoy simplemente Llamaré a fclose de archivo con el fin
en última instancia, para cerrar el archivo.
>> Ahora cuando ejecuto este programa, que no debería realmente ver nada en la
pantalla, pero debería haberlo hecho después de correr este programa un archivo llamado
Students.CSV en el mismo directorio que Ejecuto el comando en que debe
contener una separada por comas lista de valores.
Vamos a echar un vistazo.
>> Hacer las estructuras 1. / Structs1 del estudiante nombre, digamos que David,
vivirá en Mather.
El nombre del estudiante, digamos, Lauren, vivirá en Leverett.
El nombre del estudiante, digamos, Rob, vivirá en Kirkland.
Ahora, de nuevo, como era de esperar, no aparece nada haber sucedido, pero permítanme
vaya por delante en el símbolo del sistema y escriba g edición students.CSV con la esperanza de que
ese archivo en verdad existe.
>> Gedit students.CSV ENTER, y de hecho, cuenta de que un archivo que contiene puramente
texto, sino de texto separado por comas para cada campo, de hecho existe.
Y si estábamos usando, no el CS50 aparato, pero un Mac más familiar o
PC, resulta que podríamos de hecho abrir el archivo CSV con una más
programa familiar como Excel o Numbers.