如何用C语言缩写字符串,请举例
时间: 2024-10-05 08:03:31 浏览: 33
使用C语言解决字符串全排列问题
5星 · 资源好评率100%
在C语言中,可以使用标准库函数`strlen()`和`sprintf()`配合来实现字符串的缩写,也就是截取部分字符。假设你想将字符串缩短到指定长度并添加省略号`...`作为结尾,你可以这样做:
```c
#include <stdio.h>
#include <string.h>
void abbreviate_string(char *str, int max_length) {
// 计算原始字符串的长度
size_t original_length = strlen(str);
// 如果原始长度小于或等于最大长度,则无需处理
if (original_length <= max_length) {
printf("%s", str); // 直接打印原字符串
} else {
// 打印前max_length个字符
strncpy(str, str, max_length - 1);
str[max_length - 1] = '\0'; // 截断并加上终止符
// 添加省略号
strcat(str, "...");
}
}
int main() {
char test_str[50] = "This is a very long string to be abbreviated.";
int max_abbreviated_length = 20;
abbreviate_string(test_str, max_abbreviated_length);
return 0;
}
```
在这个例子中,如果原始字符串超过指定的最大长度,它会被缩短并添加省略号。
阅读全文