char str[100];scanf("%s", str);2. fgets()fgets() 函数从文件中">

c语言怎么读入字符串的数据

来源:这里教程网 时间:2026-02-21 16:48:40 作者:

用 C 语言读取字符串数据

读取字符串数据是 C 语言中一个常见任务。有几种方法可以实现此目的:

1. scanf()

scanf()
函数可以从标准输入读取格式化的数据。要读取字符串,使用
%s
格式说明符:

立即学习“C语言免费学习笔记(深入)”;

<code class="c">char str[100];
scanf("%s", str);</code>

2. fgets()

fgets()
函数从文件中读取一行数据,包括换行符。它将数据存储在指定的字符串缓冲区中:

<code class="c">char str[100];
fgets(str, 100, stdin);</code>

3. gets()

gets()
函数从标准输入读取一行数据,直到遇到换行符。但是,它不安全,因为输入没有边界检查,可能导致缓冲区溢出:

<code class="c">char str[100];
gets(str);</code>

4. getchar()

getchar()
函数每次读取一个字符。要读取字符串,需要循环读取字符,直到遇到换行符或其他终止字符:

<code class="c">char str[100];
int i = 0;
char ch = getchar();
while (ch != '\n') {
  str[i++] = ch;
  ch = getchar();
}
str[i] = '\0';  // 终止字符串</code>

5. getline()

getline()
函数读取一行数据,包括换行符(从 C11 开始)。它返回读入行的长度,或者在遇到 EOF 时返回 -1:

<code class="c">char *str = NULL;
size_t len = 0;
getline(&str, &len, stdin);</code>

选择使用哪种方法取决于特定需求,例如输入大小、是否需要边界检查和是否需要排除换行符。

相关推荐