|  | 
 
 发表于 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
 | 
 |