Olá, seja bem-vindo de volta.
Nesta palestra, quero fornecer uma demonstração de nosso
primeiro desafio para ler um arquivo.
Vamos contar o número de linhas dentro de um arquivo usando fgetc.
Então, vamos trazer blocos de código, e vamos criar nosso projeto.
Aqui, vamos apenas dizer novo projeto,
e será um alinhamento de leitura básico.
Então, digamos que o aplicativo de console selecione c, e nomearemos este número básico ou de contagem
de linhas como sobre a contagem do número de linhas.
E então isso vai criar Nosso principal. c que é bom.
Antes mesmo de iniciarmos este aplicativo entretanto, queremos realmente criar nosso arquivo
que contenha algum texto.
Já que não estamos escrevendo, estamos apenas lendo no número de linhas.
Então você tem que saber onde você salvou seu projeto.
Estou salvando meus projetos dentro do meu diretório de downloads.
E quando você cria um novo projeto dentro do diretório de downloads, você
acessa o nome do projeto.
Meu nome de projeto é contar o número de linhas.
Então, conte o número de linhas, eu tenho meu principal. arquivo c.
Eu posso criar meu arquivo direito neste diretório.
Então, estou indo para a direita clique dentro do diretório
e direi novo e estou vai criar um arquivo de texto.
Este é um novo documento de texto, e vai ser um teste. texto.
Eu vou abrir.
Você pode abrir em qualquer editor, este é o wordpad.
Vai colocar em algumas linhas, olá.
Este será o teste de contabilidade, ok, apenas um monte de linhas e então
você deseja salvar isso e fechá-lo.
Agora que criei meu arquivo, posso realmente comece a implementar algo.
A primeira coisa que quero fazer é que eu quero criar
uma variável constante para o nome do arquivo.
Então, vou apenas usar define.
Isso vai representar meu nome de arquivo.
Vou apenas dizer o nome do arquivo em todos caps, e isso vai ser
igual ao que eu acabei de nomear, que novamente é o teste. texto, então teste. texto.
E todo o meu código vai para ser minha função principal.
Eu quero criar meu ponteiro de arquivo.
Lembre-se, para criar um ponteiro de arquivo, basta usar todas as letras maiúsculas FILE e
dizer asterisco e depois apenas fp.
E eu vou para inicialize isso para nulo.
Sempre que você lê um arquivo e escrever, você deve certificar-se de
incluir a biblioteca padrão. h.
Também vou criar um único personagem que será usado.
Eu só vou dizer char, e vou criar um contador
para todas as minhas linhas.
Vou dizer contagem de linhas inteiras.
E vou inicializar isso para 0.
Primeira coisa que você precisa fazer quando você faz qualquer tipo
de leitura de arquivos, tem que abrir.
Portanto, a função f open é vai retornar um ponteiro de arquivo.
Então, eu quero atribuir isso ao meu variável fp e quero dizer
f aberto e o nome do arquivo nome que eu já defini é uma
constante, nome de arquivo.
E eu quero abrir para leitura e lendo apenas para dizer r.
Então aqui eu quero fazer fopen com meu nome do arquivo como minha constante e então r entre
aspas duplas que é o nosso modo.
Eu quero apenas ler.
Eu não quero escrever.
Se eu fizesse um r plus, eu escreveria também.
Antes de usarmos o ponteiro, o ponteiro representa o arquivo.
Eu quero ter certeza de que o ponteiro não é igual a nulo,
então quero fazer um f.
Eu quero dizer que fp é igual a nulo.
Então, se for igual a nulo, eu apenas deseja exibir um erro em troca.
Então eu quero fazer algo como O arquivo printf não existe, seja o que for que
você queira fazer.
E isso vai então.
Só vamos querer voltar um 1 negativo de nossa função.
Depois de abrir o arquivo, agora nós pode realmente começar
a ler caracteres, então podemos escrever um loop while e queremos dizer enquanto nosso personagem, que
é um personagem é igual a fgetc.
Fgetc está lendo um único personagem.
Passamos nosso ponteiro de arquivo, e queremos basicamente dizer que
queremos ler personagens até ver um eof.
Então dizemos até que não seja igual a eof.
Então vamos pular fora de nosso loop, algo assim.
Então, vamos ler em personagens até chegarmos ao final do arquivo.
Contanto que nosso personagem não seja um avanço de linha, queremos apenas incrementar quando vemos um
avanço de linha.
Então, vamos dizer se nosso personagem é igual a um avanço de linha, então queremos basicamente
incrementar nosso contador.
Queremos apenas dizer que as linhas contam mais além disso, isso vai contar nossas falas.
E então saímos do circuito quando chegarmos ao final do arquivo.
Mas nós apenas recomendamos nosso conta se recebermos um feed de linha.
A última coisa que você sempre quer fazer depois de terminar de ler sua escrita, você
deseja fechar o arquivo.
Então você quer dizer fclose e em seguida, passe o ponteiro do arquivo.
E então também queremos definir nosso ponteiro de arquivo igual a nulo.
E então podemos imprimir o número de linhas que executamos.
Então, podemos apenas dizer printf número total de linhas r por cento d barra invertida n e então podemos apenas colocar
a contagem de linhas.
E então basta voltar de o principal, assim mesmo.
Então, novamente para revisar este código, nós crie nosso ponteiro de
arquivo defina-o como nulo crie um caractere e um local variável para contar as linhas.
Abrimos nosso arquivo na linha 12.
Nós o abrimos no modo somente leitura.
Certificamo-nos de que não é nulo e então fazemos nosso loop while para ler
cada caractere até estamos no final do arquivo.
Cada vez que vemos um feed de linha, nós incrementamos esse contador.
E então fechamos nosso arquivo e definir nosso ponteiro para nulo.
E então imprimimos o número de linhas.
Vamos continuar e construir isso.
E temos uma linha extra feed, queremos ter certeza.
Então, eu quero ter certeza de que não esqueça a vírgula em nosso printf.
E agora que executamos isso, ele vai leia o nosso arquivo que
criamos e diga-nos quantas linhas temos.
Então, diz o número total de linhas são seis.
Se abrirmos nosso arquivo de texto, devemos observe que há seis linhas, um, dois,
três, quatro, cinco, seis.
Na verdade, são sete.
Portanto, teríamos que incrementar o o último até chegarmos ao eof.
Então aqui está um pequeno bug aqui onde apenas dizemos porque isso está
fazendo nossa última linha antes de chegarmos ao fim do arquivo.
Então você realmente gostaria de ter este seria mais um e então o executaríamos e ele
realmente funcionaria.
Então, neste caso, vamos adicione algumas linhas.
E, neste caso, devemos ter um, dois, três, quatro, cinco,
seis, sete, oito, nove linhas.
Fechamos o arquivo.
Nós o executamos novamente, compilamos isso, e devemos pegar nove.
Nesse caso, temos 9.
Então, vou salvar este código-fonte.
Você pode fazer o download.
Este é o básico da leitura dados de um arquivo usando fgetc.
Você também quer se tornar familiarizado com fgets.
E então, para formatar a saída, você pode usar fscanf para ler a saída formatada.
Eu espero que isso tenha sido útil. Obrigada.