fgets( , , ); //将输入姓名学号信息存储在input[]
时间: 2024-11-04 21:12:06 浏览: 6
学生信息管理系统C语言源码
`fgets()`是C语言标准库中的函数,用于从指定的文件流(通常是从键盘输入)读取一行文本到字符数组中。函数原型通常是这样的:
```c
char fgets(char *str, int n, FILE *stream);
```
在这里,`str`是一个指向字符数组的指针,它会接收输入的字符串;`n`是数组能容纳的最大字符数,包括结束符'\0';`stream`是你想要从中读取的输入源,比如`stdin`表示标准输入。
如果你想要使用`fgets()`获取用户的姓名和学号输入,你可以这样做:
```c
#include <stdio.h>
#define MAX_NAME_LENGTH 50
#define MAX_NUMBER_LENGTH 10
int main() {
char input[50 + 10 + 1]; // 总长度考虑姓名、学号和结束符
fgets(input, sizeof(input), stdin);
// 然后你需要根据'\n'分隔姓名和学号,假设姓名在前,学号在后
char name[MAX_NAME_LENGTH];
char number[MAX_NUMBER_LENGTH];
size_t len = strlen(input); // 获取实际读取的字符数
if (len > 0 && input[len - 1] == '\n') { // 去掉行尾的换行符
strncpy(name, input, len - 1);
name[len - 1] = '\0'; // 结束名字符
size_t num_index = strcspn(name, " "); // 找到姓名后的第一个空格位置作为分界点
strncpy(&name[num_index], &input[num_index], MAX_NUMBER_LENGTH);
number[MAX_NUMBER_LENGTH - 1] = '\0';
}
printf("Name: %s\n", name);
printf("Number: %s\n", number);
return 0;
}
阅读全文