c - 从 C 中的字符串中删除所有 '\'

标签 c string parsing

我试图摆脱 C 中字符串中的所有 \ 字符。例如,如果字符串是 co\din\g 它应该转换字符串到编码

到目前为止我有代码

  for(i = 0; i < strlen(string); ++i){
    if(string[i] == '\'){

    }
  }

就是看有没有反斜杠。但是,我不知道如何删除反斜杠。我唯一的想法是将下一个字符设置为等于当前字符,但是,我不知道更改字符串的长度如何使用内存。

最佳答案

像这样:

#include <stdio.h>

int main(){
    char st[] = "co\\din\\g";
    int k = 0;
    for (int i = 0; st[i] != '\0'; ++i)
        if (st[i] != '\\')
            st[k++] = st[i];
    st[k] = '\0';
    fputs(st, stdout);

    return 0;
}

关于c - 从 C 中的字符串中删除所有 '\',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53134028/

相关文章:

c - C 中的 JSON 解析器技巧

c - 从文本文件中读取指令

c - 读取字符串时出现段错误

regex - 将字符串中单词的首字母大写

Ruby:字符串与字符串的比较失败(ArgumentError)

string - 在 MIPS 中解析字符串

c - 指向字符串的指针以及赋值和取消引用之间的区别

c - Getservent() 未从 _PATH_SERVICES 读取

java - 如何使用 SAX 解析器解析 XML

python - Pandas 数据框 : How to parse integers into string of 0s and 1s?