gpt4 book ai didi

c++ - 从字符串中复制选定的字符

转载 作者:太空宇宙 更新时间:2023-11-04 07:33:17 25 4
gpt4 key购买 nike

我的输入字符串是

\\?\bac#dos&ven_bb&prod_open-v&rev_5001#1&7f6ac24&0&353020304346333030363338#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

要求的输出是

bac\dos&ven_bb&prod_open-v&rev_5001\1&7f6ac24&0&353020304346333030363338_0

我编写了以下代码但无法正常工作...需要帮助来解决问题。原谅我的无知:)如果有更好更有效的方法,也请告诉我。

输出字符串的规则是

在第二个字符串中,我删除了所有的“\”和“?” 。在哪里看到“#”我用“\”替换它。并且第二个字符串仅在您看到字符“{”但末尾不包含“#”之前。

谢谢

int main() 
{
char s[] = "\\?\bac#dos&ven_bb&prod_open-v&rev_5001#1&7f6ac24&0&353020304346333030363338#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}";
char s1[] = {0};
printf("OUtput string is : ");
for(int i = 0; s[i] != '{'; i++)
{
if(s[i] != '\\' && s[i] != '?')
{
int j = 0;
if(s[i] == '#')
{
s1[j] = '\\';
continue;
}

s1[j] = s[i];
j++;
}

}

for(int i = 0; s1[i] != '\0'; i++)
{
cout<<s1[i];
}

getch();
}

最佳答案

我建议研究使用 std::string::replace() 函数。有很多关于此的在线文档。看看 std::string 必须提供的其他一些功能,因为它们也可能有用。如果您使用的是 C++,则使用 std::string 通常比修改 char 数组和索引更可取。

关于c++ - 从字符串中复制选定的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11357400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com