|
|
发表于 2023-9-26 21:40:03
|
显示全部楼层
可以使用字符串操作函数和循环来实现。
以下是一个示例代码:
- #include <iostream>
- #include <cstring>
- int main() {
- char* command = "cat<1.txt>2.txt";
- char new_command[100] = ""; // 新字符串
- int len = strlen(command);
- for (int i = 0; i < len; i++) {
- if (command[ i] == '<' || command[ i] == '>') {
- strcat(new_command, " "); // 在特定字符前添加空格
- strncat(new_command, &command[ i], 1); // 添加特定字符
- strcat(new_command, " "); // 在特定字符后添加空格
- } else {
- strncat(new_command, &command[ i], 1); // 添加其他字符
- }
- }
- std::cout << new_command << std::endl;
- return 0;
- }
复制代码
解释:
1. 首先定义了原始字符串 command 和一个新字符串 new_command ,长度为 100。
2. 使用 strlen 函数获取原始字符串的长度。
3. 使用 for 循环遍历原始字符串中的每个字符。
4. 如果当前字符是 < 或 > ,则在新字符串中添加空格、特定字符和空格,以达到在特定字符前后添加空格的效果。
5. 如果当前字符不是 < 或 > ,则直接将其添加到新字符串中。
6. 最后,输出新字符串。
输出结果为: cat < 1.txt > 2.txt |
|