在c语言中,控制台读取一个以特定字符结尾的字符串
时间: 2024-11-20 12:45:09 浏览: 20
在C语言中,你可以使用`fgets`函数结合一个自定义的结束字符来读取控制台输入直到遇到该字符。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h> // 包含strlen函数,用于计算字符串长度
#define MAX_LINE_LENGTH 100 // 最大输入字符串长度
void read_until_char(char* ending_char) {
char input[MAX_LINE_LENGTH];
fgets(input, MAX_LINE_LENGTH, stdin); // 从stdin读取
// 移除末尾的'\n'字符
size_t len = strlen(input);
if (len > 0 && input[len - 1] == '\n') {
input[len - 1] = '\0'; // 删除'\n'
}
int found_ending = 0;
for (size_t i = 0; i < strlen(input); ++i) {
if (input[i] == *ending_char) {
found_ending = 1;
break;
}
}
// 如果找到了结束字符,显示输入字符串
if (found_ending) {
printf("输入的字符串是: %s\n", input);
} else {
printf("输入的字符串未找到指定的结束字符 '%c'\n", *ending_char);
}
}
int main() {
char ending_char;
printf("请输入一个以特定字符结尾的字符串(以什么字符结束?)");
scanf("%c", &ending_char); // 获取用户输入的结束字符
read_until_char(&ending_char);
return 0;
}
```
在这个程序中,我们首先读取一行用户的输入,然后遍历这个字符串直到找到指定的结束字符。如果没有找到,会提示用户。请注意,这里假设用户输入的是单个字符。
阅读全文