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

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

getchar()函数

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

int main()
{
	char ch;
	
	puts("输入一个字符:");
	ch = getchar();
	
	puts("输入的字符为:");
	putchar(ch);

	system("pause");
	return 0;
}

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

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

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

getc()函数

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

int main()
{
	FILE *fp;
	int ret;
	char ch; 

	/* 打开文件 */
	fp = fopen("123.txt","r");
	if(fp==NULL)
		puts("打开失败!");
	else
		puts("打开成功!");
		
	ch = getc(fp);
	while(ch != EOF)
	{
		putchar(ch);
		ch = getc(fp);
	}	
		
	/* 关闭文件 */
	ret = fclose(fp);
	if(ret == 0)
		puts("关闭成功!");
	else
		puts("关闭失败!");

	system("pause");
	return 0;
}

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

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

int main()
{
	FILE *in,*out;
	int ret;
	char ch; 

	/* 打开文件 */
	in = fopen("123.txt","r");
	if(in == NULL)
		puts("打开失败!");
	else
		puts("打开成功!");
		
	out = fopen("111.txt","w");	
	ch = getc(in);
	while(ch != EOF)
	{
		putc(ch,out);
		ch = getc(in);
	}	
		

	/* 关闭文件 */
	ret = fclose(in);
	if(ret == 0)
		puts("关闭成功!");
	else
		puts("关闭失败!");
		
	ret = fclose(out);	

	system("pause");
	return 0;
}

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

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

相关文章