c语言输入一个字符串,输入一个规范化长度数值,对字符串进行规范化。如果字符串长度大于规范长度,则按照规范长度进行截断,如果小于规范长度,则按照规范长度在后面进行填充,填充字符为$.
时间: 2024-10-25 13:14:59 浏览: 46
C语言实现输入一个字符串后打印出该字符串中字符的所有排列
在C语言中,你可以创建一个简单的程序来实现这个功能。首先,你需要从用户那里获取输入的字符串和规范化长度。然后,你可以使用`strlen()`函数计算字符串的实际长度,接下来根据规范化长度进行相应的处理:
```c
#include <stdio.h>
#include <string.h>
void normalize_string(char* input_str, int max_length) {
int input_len = strlen(input_str);
if (input_len > max_length) {
strncpy(input_str, input_str, max_length - 1); // 截断到max_length-1位置
input_str[max_length - 1] = '\0'; // 添加结束符
} else {
while (input_len < max_length) { // 补充$直到达到max_length
input_str[input_len++] = '$';
}
input_str[max_length] = '\0'; // 确保字符串结尾有结束符
}
}
int main() {
char input[100];
printf("请输入字符串: ");
fgets(input, sizeof(input), stdin); // 读取一行字符串
input[strcspn(input, "\n")] = '\0'; // 删除fgets带来的换行符
int max_length;
printf("请输入规范化长度: ");
scanf("%d", &max_length);
normalize_string(input, max_length);
printf("规范化后的字符串: %s\n", input);
return 0;
}
```
运行此程序后,它会接收用户输入的字符串和长度,然后根据这两个值进行规范化。
阅读全文