在 c 中接收字符串数据的两种主要方法是:使用 scanf() 函数从格式化输入中读取字符串。使用 fgets() 函数逐行从流中读取字符串,直到遇到换行符或文件结束。
如何在 C 语言中接收字符串数据?
在 C 语言中,接收字符串数据有两种主要方法:
1. 使用 scanf() 函数
scanf() 函数可以从标准输入接收格式化数据,包括字符串。语法如下:
int scanf(const char *format, ...);
其中:
- format:指定要接收数据的格式字符串,对于字符串,通常使用 %s。
- ...:可变参数列表,指定要存储结果的变量地址。
例如:
char name[50];
scanf("%s", name);
这将从标准输入接收最多 49 个字符(加上空字符 '0'),并将它们存储在 name 数组中。
2. 使用 fgets() 函数
fgets() 函数从流(通常是标准输入)中逐行读取数据,直到遇到换行符或文件结束。语法如下:
char *fgets(char *str, int num, FILE *stream);
其中:
- str:指向用于存储结果的字符数组。
- num:允许读取的最大字符数(包括换行符)。
- stream:要读取的流,通常为 stdin,表示标准输入。
例如:
char name[50];
fgets(name, sizeof(name), stdin);
这将从标准输入读取一行文本(最多 49 个字符),包括换行符,并将其存储在 name 数组中。