C语言学习笔记---字符处理函数getc()和getchar()函数

x33g5p2x  于2021-11-01 转载在 其他  
字(1.6k)|赞(0)|评价(0)|浏览(619)

getchar()函数

在C语言中通常读取字符比较多的是getchar()函数,和它一起使用的和字符打印函数putchar()。这两个函数读取字符和打印字符默认的都是从键盘读取数据,并且在终端中打印。使用示例如下:

  1. int main()
  2. {
  3. char ch;
  4. puts("输入一个字符:");
  5. ch = getchar();
  6. puts("输入的字符为:");
  7. putchar(ch);
  8. system("pause");
  9. return 0;
  10. }

使用getchar()函数从键盘读取一个字符,然后通过putchatr()函数再将读取的字符打印到终端上。

  在键盘上输入字符a之后,接着打印出a字符。注意getchar()函数每次只能读取一个字符,就算输入了多个字符,也只会打印输入的第一个字符。

  getchar()和putchar()函数只适合单个的字符读取和打印。

getc()函数

有时候读取字符的时候不一定只从控制台上读取,也需要从文件中读取,这时就可以使用getc()函数,它可以用来从指定的文件中读取字符,它里面有一个参数,这个参数就是需要读取文件的指针。和它对应的向文件写一个字符的函数是putc()函数。

  1. int main()
  2. {
  3. FILE *fp;
  4. int ret;
  5. char ch;
  6. /* 打开文件 */
  7. fp = fopen("123.txt","r");
  8. if(fp==NULL)
  9. puts("打开失败!");
  10. else
  11. puts("打开成功!");
  12. ch = getc(fp);
  13. while(ch != EOF)
  14. {
  15. putchar(ch);
  16. ch = getc(fp);
  17. }
  18. /* 关闭文件 */
  19. ret = fclose(fp);
  20. if(ret == 0)
  21. puts("关闭成功!");
  22. else
  23. puts("关闭失败!");
  24. system("pause");
  25. return 0;
  26. }

使用fopen()函数打开 一个文本文件,然后使用getc()函数依次读取文件中的内容,并通过putchar()函数将文件中的内容打印到控制台上,内容打印完毕后,使用fclose()函数关闭打开的文件。

  这里是把文件输出到了控制台,也可以使用putc()函数,将字符写入到另一个文件中。修改上面的代码如下:

  1. int main()
  2. {
  3. FILE *in,*out;
  4. int ret;
  5. char ch;
  6. /* 打开文件 */
  7. in = fopen("123.txt","r");
  8. if(in == NULL)
  9. puts("打开失败!");
  10. else
  11. puts("打开成功!");
  12. out = fopen("111.txt","w");
  13. ch = getc(in);
  14. while(ch != EOF)
  15. {
  16. putc(ch,out);
  17. ch = getc(in);
  18. }
  19. /* 关闭文件 */
  20. ret = fclose(in);
  21. if(ret == 0)
  22. puts("关闭成功!");
  23. else
  24. puts("关闭失败!");
  25. ret = fclose(out);
  26. system("pause");
  27. return 0;
  28. }

以只读模式打开123.txt文件,然后再以写模式打开 111.txt 文件,如果这个文件不存在,就新创建一个。使用getc()函数从123.txt文件中读取字符,然后使用putc()函数将读取到的字符写入111.txt文件中。这里putc()函数中有两个参数,第一个参数为待写入的字符,第二个参数为文件指针。
字符写入结束后,使用fclose()函数关闭打开的两个文件。

  运行程序后会发现新建了一个111.txt文件,同时里面的内容为"123456789",和123.txt里面的内容一样。

相关文章