使用转义键操作字符串

时间:2014-07-23 15:21:44

标签: c string char escaping

我试图找出一种方法来处理特定字符的给定字符串。

例如 - 给出的字符串:"\\n"

我想得到:

// manipulations should take place here

"\n"

有没有" smart"这样做的方式?

干杯。

2 个答案:

答案 0 :(得分:0)

    int i, j = 0;
    for(i = 0; i < strlen(str); i++){

           if(str[i] == '\\' && str[i+1] == '\\')
                     i++;

           str[j] = str[i];
           j++;

    }
    str[j] = '\0';

答案 1 :(得分:0)

#include <stdio.h>

int main (void) {
    char str[] = "test text.\\n";
    char *s, *d;

    printf("%s\n", str);

    d = s = str;
    while(*s){
        if(*s == '\\' && s[1] == 'n'){
            *d++ = '\n';
            s += 2;
        } else {
            *d++ = *s++;
        }
    }
    *d = '\0';
    printf("<%s>", str);
    return 0;
}