当使用C语言时,你可以使用字符数组来处理字符串,并使用循环和指针操作来获取子字符串。
下面是一个示例代码,接受用户输入的字符串和子字符串的起始位置和长度,然后输出相应的子字符串:
#include <stdio.h>
void extractSubstring(const char *str, int start, int length) {
char substring[length + 1];
int i;
// 将指针移动到起始位置
str += start;
// 复制子字符串到新的字符数组中
for (i = 0; i < length; i++) {
substring[i] = *str;
str++;
}
// 添加字符串结束符
substring[length] = '\0';
// 输出子字符串
printf("Substring: %s\n", substring);
}
int main() {
char inputString[100];
int start, length;
printf("Enter a string: ");
fgets(inputString, sizeof(inputString), stdin);
printf("Enter start position: ");
scanf("%d", &start);
printf("Enter length: ");
scanf("%d", &length);
extractSubstring(inputString, start, length);
return 0;
}
这段代码首先使用 fgets 函数从用户输入中获取字符串,并使用 scanf 函数获取起始位置和长度。然后,extractSubstring 函数将字符串的指针移动到起始位置,并复制子字符串到一个新的字符数组中。最后,输出子字符串。
请注意,这只是一个简单的示例,没有进行输入验证和错误处理。在实际应用中,你可能需要添加适当的输入验证和错误处理机制,以确保程序的稳定性和安全性。
温馨提示:答案为网友推荐,仅供参考