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.