>> COLUMNA 1: Imos escribir un programa que solicita ao usuario os nomes e
casas de tres alumnos.
Pero no canto de só imprimir o seu nomes e vivendas para a pantalla, imos
en vez gardar a información no disco.
Noutras palabras, imos crear, por exemplo, un ficheiro CSV ficheiro, para valores separados por comas,
que en realidade non é máis que un ficheiro de texto que programas como Excel ou Numbers
Pode abrir e, efectivamente, gardar os nomes e casas permanentemente de forma que
podemos revisa-las máis tarde.
>> Para iso, imos primeiro un ollo algún código cliché que eu teño
comezou coa xa.
Teña en conta primeiro que entre as cabeceiras alí enriba agora lib.h estándar que
pasa de ter algunhas funcións relacionadas ao ficheiro E /, arquivo de entrada e saída.
Repare que eu tamén xa declarou unha constante chamada estudantes -
en todos os tapóns - cuxo valor é codificado como tres.
Teña en conta agora que dentro do meu principal programa, estou declarando unha matriz de
tamaño tres usando esa constante chamada Alumnos cada de cuxos membros é de
escriba alumnos.
>> Teña en conta que agora que un estudante imos definir como posuíndo un nome e unha casa dous
que son cadeas de caracteres por este declaración instrúe, punto h.
Agora, de volta en structs1.c, entender que eu ter un loop for aquí que vai
iteración de cero ata tres.
Me vai levar a un estudante de nome ea casa dun estudante
novo e de novo e de novo.
>> A continuación, na parte inferior deste programa, entender que eu teño outro loop
que vai liberar o alumno om nome ea casa do estudante om nun
construídas de forma semellante circuíto.
Para ter seguro, podemos combinar eses lazos en só un, pero eu quería
ten algúns segmentos distintos de código por unha cuestión de debate aquí.
>> Agora, entre os loops, imos realmente ten outra, e esta aquí é
propósito na vida é realmente gardar todos destes nomes e as casas que están
actualmente na RAM para o disco en forma de valores separados por comas.
Para iso, imos utilizar tres novas funcións -
F aberto, F printf, e F seguinte, que abrir un arquivo, imprimir nun arquivo, e
pechar un arquivo.
Podemos usalos como segue.
>> FILE, en todas as tapas, o que é un pouco de unha curiosidade en C, ficheiro é fopen
unquote cita e agora un nome para o arquivo, digamos, students.CSV, pero eu podía
chamalo de nada, coma e agora estou indo para especificar un único w dentro
de comiñas dobres.
W, como xa debería ter difícil de adiviñar, significa que fopen debe abrir este ficheiro
Students.CSV chamado para escribir así que podemos realmente aforrar algo
contido para el.
>> Imos próximo cheque se o ficheiro non é igual a cero.
Porque se for, algo ten, probablemente, mal, caso en que nós
non debe continuar para intentar para imprimir calquera cousa a el.
Pero se non é nulo, a continuación, dentro do claves que eu vou facer unha iteración
i é igual a 0 en ata ESTUDANTES, e eu vou
incrementar i en cada iteración.
E dentro deste loop, vou fprintf, co fin de imprimir nun arquivo -
especialmente a un Eu xa aberto -
unha cadea que parece con este% s,% s barra invertida n quote preto.
>> E agora quero chamar a cada un dos estes espazos reservados aos valores reais
do nome dun alumno e unha casa usar o operador punto.
Alumnos soporte i.name, estudantes paren soporte i.house preto
E coma.
Agora baixo deste loop for, eu estou simplemente vai chamar fclose de arquivo en orde
para, finalmente, pechar o ficheiro.
>> Agora, cando eu executar este programa, eu non debería realmente ver nada no
pantalla, pero eu debería ter despois de correr este programa un ficheiro chamado
Students.CSV no mesmo directorio que Eu executar a orde en que debería
conter unha coma separados lista de valores.
Imos dar un ollo.
>> Facer estruturas 1. / Alumno structs1 nomear, digamos David,
que vai vivir en Mather.
Nome do alumno, imos dicir, Lauren, vai vivir en Leverett.
Nome do alumno, digamos, Rob, que vai vivir en Kirkland.
Agora, de novo, como se esperaba, non aparece nada acontecer, pero déixeme
vai adiante no ventá de consola e escriba g edición students.CSV coa esperanza de que
este ficheiro realmente existe.
>> Gedit students.CSV Intro e, de feito, entender que un arquivo que contén puramente
texto, pero o texto separados por comas para cada campo, de feito existe.
E se estivésemos usando, e non o CS50 aparello, senón un Mac máis familiar ou
PC, verifícase que poderiamos de feito abrir este ficheiro CSV cun máis
programa coñecido como o Excel ou Numbers.