小美正在开发一个文件名格式化工具,其中一个功能是将文件名中的所有空格替换为下划线(_),并将文件名转换为小写。请你写一段代码帮他实现这个功能。 示例 输入 My Document File.txt 输出 my_document_file.txt C编程
时间: 2024-10-13 07:16:47 浏览: 25
你可以使用C语言中的字符串处理函数来实现这个功能。下面是一个简单的函数,它接受一个字符串作为输入,然后按照指定的规则进行格式化:
```c
#include <stdio.h>
#include <ctype.h> // for tolower 函数
void formatFileName(char* filename) {
int len = strlen(filename);
char formattedFilename[len]; // 新建一个足够长的缓冲区
// 遍历原文件名,替换空格并转为小写
for (int i = 0; i < len; i++) {
if (filename[i] == ' ') { // 如果遇到空格
formattedFilename[i] = '_'; // 替换为空格
} else {
formattedFilename[i] = tolower(filename[i]); // 转换为小写
}
}
// 添加末尾的点号和.txt
formattedFilename[len] = '\0';
strcat(formattedFilename, ".txt");
printf("%s\n", formattedFilename); // 输出结果
}
// 示例
int main() {
char input[] = "My Document File.txt";
formatFileName(input);
return 0;
}
```
当你运行上面的 `main` 函数,会输出 "my_document_file.txt"。
阅读全文