📅  最后修改于: 2023-12-03 15:38:13.334000             🧑  作者: Mango
在 C 语言中,获取字符串输入是一个基础的操作,本文将介绍几种获取字符串输入的方法。
scanf 函数可以用来从标准输入流中读取字符串。scanf 函数的格式化字符串中使用 %s
表示读取字符串,例如:
char str[100];
scanf("%s", str);
需要注意的是,scanf 函数读取字符串时,遇到空格和换行符都会停止。如果需要读取一行字符串,可以使用 fgets 函数。
fgets 函数可以从指定的文件流中读取一行字符串。fgets 函数的使用示例如下:
char str[100];
fgets(str, 100, stdin);
其中,第一个参数是字符数组,用于存储输入的字符串;第二个参数是字符数组的最大长度;第三个参数是输入的文件流,通常使用 stdin 表示标准输入流。
需要注意的是,fgets 函数返回的字符串包括换行符,如果不需要换行符,可以通过以下方式去除:
str[strlen(str) - 1] = '\0';
gets 函数可以从标准输入流中读取一行字符串,用法非常简单:
char str[100];
gets(str);
但是,使用 gets 函数存在安全性问题,因为 gets 函数无法保证读取的字符数量不超过字符数组的长度,容易导致缓冲区溢出。因此,不推荐使用 gets 函数。
本文介绍了 C 语言中获取字符串输入的几种方法,分别是使用 scanf 函数、fgets 函数和 gets 函数。其中,推荐使用 fgets 函数获取字符串输入,可以保证读取一行字符串,并且可以避免缓冲区溢出问题。