1.printf与scanf
2.getchar与putchar
这两个函数是专门面向字符I/O而设计的一对函数。
int ch;
ch=getchar()//这个函数没有参数
它的意思与scanf("%c",&ch)的意思一样。
putchar函数打印它的参数。
putchar(ch);
它的效果与printf("%c",ch);的意思一样。
常用方法:
int ch;
while((ch=getchar()!='\n'))
{
putchar(ch);
}
2.gets与puts
gets函数用来读取字符串,它读取字符串直到遇到一个换行符(\n) 为止,它读取换行符之前的所有字符,并且在这些字符后面添加一个空字符(\0)。它读取换行符就丢弃,下次读取从下一行开始读取。
常用方法:
char name[40];
puts("hi,what is your name?");
gets(name);
gets()函数返回的是读入字符串的地址。如果出错或者gets()遇到文件结尾,它就返回一个空地址。这个空地址被称为空指针。
常用方法:
while(gets(name)!=NULL)
puts函数是字符串的输出函数,参数是字符串的地址。
char *str1="i am a beautiful girl";
puts(str1);
puts函数显示字符串时候自动在其后面添加一个换行符。
注意:gets和puts函数其实可以通过getchar和putchar函数来实现
比如我想实现一个puts函数,但是我不让最后添加一个换行符
void put(const char *string)
{
while(*string!='\0')
putchar(*string++);
}
3.getc与putc
这两个函数的用法与getchar 和putchar函数相似,只是getc与putc函数需要使用文件。
FILE *fp;
int ch;
ch=getc(fp);
常用方法:
int ch;
FILE *fp;
fp=fopen("wacky.txt","r");
while((ch=getc(fp))!=EOF)
{
putchar(ch);
}
下面的意思表示将字符ch写入到FILE 指针fpout指定的文件中
putc(ch,fpout);
putc(ch,stdout)与putchar(ch)的作用是一样的。
4.fprintf与fscanf
fprintf与fscanf与printf和scanf函数的用法大体相似,只是前两个需要第一个参数来指定合适的文件。
写入文件的函数fprintf
char words[50];
FILE *fp;
fprintf(fp,"%s",words);
从文件中读取的函数fscanf
while(fscanf(fp,"%s",words)==1)
{
puts(words);
}