用c语言写一个c语言命名法(下划线分割单词)转变成骆驼命名法的c语言代码
时间: 2024-10-25 17:11:24 浏览: 9
运筹学两阶段法C语言程序代码.pdf
5星 · 资源好评率100%
在C语言中,虽然本身语法不支持字符串操作,但我们可以借助一些字符数组和循环来完成这个转换。这里是一个简单的示例,将下划线分隔的单词转换为驼峰命名法:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
// 函数声明
char* camelCaseFromUnderscore(const char* str);
// 辅助函数,将下划线后的单词首字母大写
void capitalize(char* word) {
if (*word != '\0') {
*word = toupper(*word);
}
}
// 主函数
char* camelCaseFromUnderscore(const char* str) {
int len = strlen(str);
char result[len + 1]; // 预留空间给'\0'
char current_word[64]; // 假设每个词不超过64个字符
// 初始化结果字符串
result[0] = '\0';
// 遍历输入字符串
for (int i = 0; i < len; i++) {
if (str[i] == '_') { // 找到下划线
capitalize(current_word); // 将之前的部分转换为大写
strcat(result, current_word); // 连接到结果字符串
current_word[0] = '\0'; // 清空当前词
i++; // 跳过下一个字符(通常为下一个单词的开始)
} else {
current_word[strlen(current_word)] = str[i]; // 添加下一个字符
}
}
// 最后一个单词不需要处理下划线,所以直接添加
capitalize(current_word);
strcat(result, current_word);
return result;
}
int main() {
const char* input_str = "my_first_variable";
char* camel_case_output = camelCaseFromUnderscore(input_str);
printf("转换后的驼峰命名法字符串: %s\n", camel_case_output);
free(camel_case_output); // 别忘了释放内存
return 0;
}
```
阅读全文