Professional Documents
Culture Documents
ndice
1. Consideraes
para
um
bom
entendimento
desse
guia
...........
3 2.
Vocabulrio
necessrio
para
entender
esse
guia
..............
4 3.
Introduo
..................................................
5 4. Funes
para
Acesso
de
Arquivos
4.1.
Funo
fopen
.........................................
6
4.2.
Funo
freopen
.......................................
6
4.3.
Funo
fclose
........................................
7
4.4.
Funo
fflush
........................................
7 5.
Funes
de
Entrada
e
Sada
No
Formatadas
5.1.
Funes
fgetc
e
getc
.................................
8
5.2.
Funes
fputc
e
putc
...
.............................
8
5.3.
Funo
fgets
........................................
9
5.4.
Funo
gets
..........................................
9
5.5.
Funo
puts
.......-..................................
10
5.6.
Funo
fputs
.........................................
10
5.7.
Funo
getchar
.......................................
11
5.8.
Funo
putchar
.......................................
11 6. Funes
de
Entrada
e
Sada
Formatadas
6.1.
Funo
scanf
.........................................
12
6.2.
Funo
fscanf
........................................
12
6.3.
Funo
printf
........................................
13
6.4.
Funo
fprintf
.......................................
13 7.
Limpeza
de
Buffer
...........................................
14
Perceba que a colorao das palavras valor1 e valor2 utilizada para referenciar as variveis na funo umaFuncao.
3.
Introduo
Sem
mais
formalidades,
vamos
ao
que
interessa!
As
funes
que
voc
ir
aprender
nas
linhas
abaixo
tem
como
objetivo
permitir
a
entrada
ou
sada
de
dados.
importante notar que em C, e em muitas outras linguagens, esse processo de input e output feito com a ajuda de um buffer(ver imagem acima). O buffer nada mais que uma regio temporria da memria para escritura e leitura de dados. Se voc j utilizou a funo scanf() ou fgets() em C deve ter notado que o programa apenas pega o que voc digitou quando voc aperta a tecla Enter. Antes de apertar a tecla Enter os dados informados por voc esto sendo armazenados no buffer de entrada. Agora que voc j sabe o que ir aprender vamos dividir as funes apresentadas nesse guia em trs categorias: 1- Funes para acesso de arquivos. 2- Funes de Input e Output no formatados. 3- Funes de Input e Output formatados. Obs. Voc NO ir ver TODAS as funes de Entrada e Sada padro da Linguagem C mas as que ao meu ver so essenciais. Expliquei as funes com portugus simples e nada tcnico propositadamente! Se voc tem alguma sugesto para melhorar esse guia entre em contato :)
O que retorna? Se sucedido retorna um ponteiro tipo FILE para o objeto controlando o stream do arquivo. Se a operao falhar retorna NULL. Vdeo que utiliza esta funo: http://goo.gl/CgVAF
O que retorna? Se sucedido retorna o stream do arquivo. Se a operao falhar retorna NULL. Vdeo que utiliza esta funo: http://goo.gl/5byjP
Observao: AS FUNES putc e fputc so exatamente iguais mas putc tambm pode ser implementada como um macro. Se putc for implementada como uma macro os argumentos no devem nunca ser variveis com efeito colateral. No se preocupe tanto com essa particularidade, no todo dia que voc far um programa que caiar nessa exceo. O importante ao menos saber que em C putc pode ser uma funo ou uma macro. Vdeo que utiliza esta funo: http://goo.gl/OuWMC
5.3. Funo fgets Como definida em stdio.h? char *fgets(char *restrict s, int n, FILE *restrict stream); O que faz? L uma string de stream at que a leitura encontre o caractere \n(incluso na leitura) ou a leitura alcance EOF ou a quantidade mxima de caracteres especificada por n-1 seja atingida. Que parmetros recebe? Recebe 3 parmetros: s: Uma string para armazenar os caracteres lidos. n: Um valor int que determina a quantidade mxima de caracteres a serem lidos - 1. stream: Um ponteiro tipo FILE de input. O que retorna? Se sucedido retorna a string lida. Se um erro ocorrer retorna NULL. Observao: fgets ir automaticamente incluir o caractere \0 na ltima posio da string. Vdeo que utiliza esta funo: http://goo.gl/5byjP
5.4. Funo gets(No recomendvel em C99 e inexistente em C11) Como definida em stdio.h? char *gets(char *restrict s); O que faz? L uma string de stdio at que a leitura encontre o caractere \n(incluso na leitura).
Que parmetros recebe? Recebe 1 parmetro: s: Uma string para armazenar os caracteres lidos. O que retorna? Se sucedido retorna a string lida. Se um erro ocorrer retorna NULL. Observao: No utilize essa funo! Se o seu professor insistir que a funo segura e pode ser usada no tem motivo pra criar encrenca e receber uma nota ruim. Mas saiba que fgets e gets_s(inclusa apenas em C11) so funes que fazem o mesmo servio com o nvel de segurana adequado. Assita o vdeo do link abaixo para entender porque a funo insegura. Vdeo que utiliza esta funo: http://goo.gl/yxFJw
5.5. Funo puts Como definida em stdio.h? int puts(const char *s); O que faz? Escreve a string s em stdout e automaticamente adiciona \n ao final da string escrita. Que parmetros recebe? Recebe 1 parmetro: s: Uma string que ser escrita em stdout. O que retorna? Se sucedido retorna um nmero positivo. Se um erro ocorrer retorna EOF. Vdeo que utiliza esta funo: http://goo.gl/Z42f5
5.6. Funo fputs Como definida em stdio.h? int fputs(const char *restrict s, FILE *restrict stream); O que faz? Escreve a string s no stream informado e automaticamente adiciona o caractere \n ao final da string escrita.
10
Que parmetros recebe? Recebe 2 parmetros: s: Uma string que ser escrita no fluxo apontado por stream. stream: Um ponteiro tipo FILE de output. O que retorna? Se sucedido retorna um nmero positivo. Se um erro ocorrer retorna EOF. Vdeo que utiliza esta funo: http://goo.gl/Z42f5 * Igual a puts exceto que te permite especificar onde escrever os dados.
5.7.Funo
getchar Como
definida
em
stdio.h? int
getchar(void);
O
que
faz? L
o
prximo
caractere
de
stdin. Que
parmetros
recebe?
No
recebe
nenhum
parmetro. O
que
retorna?
Se
sucedido
retorna
o
valor
do
caractere
obtido.
Se
um
erro
ocorrer
retorna
EOF. Vdeo
que
utiliza
esta
funo: http://goo.gl/C3iMQ 5.8.
Funo
putchar Como
definida
em
stdio.h? int
putchar(int
ch); O
que
faz? Escreve
o
valor
do
caractere
ch
em
stdout. Que
parmetros
recebe?
Recebe
1
parmetro:
ch:
Um
valor
int
correspondente
ao
caractere
que
ser
escrito
em
stdout. O
que
retorna?
Se
sucedido
retorna
o
valor
do
caractere
escrito.
Se
um
erro
ocorrer
retorna
EOF. Vdeo
que
utiliza
esta
funo: http://goo.gl/C3iMQ
11
O que retorna? O nmero de argumentos que foram corretamente relacionados um Especificador de Converso de Entrada.
obs. Para ver quais Especificadores de Converso de Entrada format pode receber faa o download do arquivo Especificadores de Converso de Entrada clicando aqui.
O que retorna? O nmero de argumentos que foram corretamente relacionados um Especificador de Converso de Entrada.
O que retorna? Um valor int que corresponde ao nmero de caracteres que foram corretamente escritos em stdout.
13
Que parmetros recebe? Recebe 3 parmetros: stream: Um ponteiro tipo FILE de output. format: Uma string que pode ou no conter um ou mais Especificadores de Converso de Sada. ...: Reticncias. Informa que a funo recebe uma quantidade varivel de parmetros. Nesta funo em especfico voc deve informar os nomes variveis ou valores literais que correspondam aos Especificadores de Converso de Sada. obs. Para ver quais Especificadores de Converso de Output pode format pode receber faa o download do a r q u i v o Especificadores de Converso de Sada clicando aqui.
O que retorna? Um valor int que corresponde ao nmero de caracteres que foram corretamente escritos em stream.
7.
Limpeza
de
Buffer
Para
finalizar
te
deixo
o
link
para
o
vdeo
Limpeza
de
Buffer.
Esse
um
problema
muito
comum
quando
utilizamos
as
funes
apresentadas
por
esse
guia. No
vdeo
voc
ir
aprender
o
que
um
buffer
sujo
e
possveis
solues
para
o
problema. Vdeo: http://goo.gl/k8oGL
14
FIM
Espere
s
mais
um
minuto! Para
obter
a
verso
mais
recente
desse
guia
basta
acessar
o
link
http://goo.gl/XsgeC
e
verificar
se
a
verso
que
voc
possui
corresponde
a
verso
disponvel
no
site(a
verso
do
guia
est
escrita
na
primeira
pgina
no
canto
inferior
direito).
Eu
toro
para
que
esse
guia
tenha
sido
til
e
esclarecido
qualquer
dvida
referente
as
funes
de
input
e
output
padro
de
C.
No
entanto
se
voc
ainda
tem
dvidas
cheque
nosso
frum
de
perguntas
clicando
nesse
link->
http://goo.gl/CaUnq O
canal
De
Aluno
Para
Aluno
tambm
possui
vdeo
aulas
de
outros
assuntos
e
outras
linguagens
de
programao.
A
melhor
maneira
de
acompanhar
as
vdeo
aulas
e
inscrevendo-se
no
canal
clicando
nesse
link
->
http://goo.gl/olNWt Se
voc
acha
que
esse
guia
pode
ser
til
para
outras
pessoas
eu
peo
que
voc
o
compartilhe.
Essa
uma
tima
maneira
de
retribuir
o
empenho
colocado
em
criar
materiais
100%
gratuitos
desse
tipo. Para
compartilhar
esse
guia
apenas
envie
o
link
abaixo
para
seus
amigos
->
http://goo.gl/XsgeC Se
voc
possui
um
blog,
site,
canal
no
YouTube
ou
qualquer
meio
de
divulgao
e
gostaria
de
utilizar
partes
ou
todo
o
contedo
escrito
nessa
guia
fique
a
vontade
mas
por
favor
no
deixe
de
adicionar
os
crditos. E
por
ltimo,
voc
pode
se
conectar
com
o
De
Aluno
Para
Aluno
de
vrias
maneiras: www.facebook.com/DeAlunoParaAluno http://goo.gl/8jlJZ www.twitter.com/AlunoParaAluno http://goo.gl/rUJzN Ajude
o
Canal
->
http://goo.gl/fiYBa
15