C语言 如何在字符串前 加上\\ C语言,如何把一个字符放到指定字符串之前

作者&投稿:臾视 (若有异议请与网页底部的电邮联系)
你的代码有几个问题:
1,strcat是加到后面的,不能满足你的需要。
2,strcat的第一个参数需要能容纳追加之后的新字符串的长度,你第一个参数是个字符串常量,大小是固定的,编译肯定报错。
3,加两个\\需要写\\\\

可以通过下面的方法添加:
char *pOldStr = "abcd";
char cNewStr[20] = {0};//要足够长来存放新的字符串
strcat(cNewStr, "\\\\");
strcat(cNewStr, pOldStr);
这时候,cNewStr就是你要的新字符串了,如果你还是想用pOldStr ,并且pOlStr本身就是一个数组,也可以重新把cNewStr拷贝到pOldStr覆盖即可。
还可以通过函数把字符串在数组中往后面移,然后给开头两个元素赋值为\\

另外,四楼使用strrev函数的方法不错,呵呵

1、在C语言中,而从左上到右下的反斜杠'\'需用转义字符来表示。连续二个反斜杠的转义字符,就表示一个“反斜杠”字符'\'。要在字符串前加上\\就要写成\\\\。
2、例如:
char c1='/',c2='\\\\';
char s1[]="/si:k/",s2[]="C:\\MyDocs\\123.txt";
printf("c1=%c c2=%c s1=%s s2=%s\n",c1,c2,s1,s2);
运行后就输出:
c1=/ c2=\\ s1=/si:k/ s2=C:\MyDocs\123.txt

#include <stdio.h>
int main()
{
printf("\\\\");
return 0;
}
要打印\必须转义
\\打印出的是\
打印两根,就是转义两次呗,\\\\

char temp[30] = "\\\\";
char* input = "abcd";
strcat(temp,input);
input = temp;
printf("%s\n",input);

char buf[8]="abcd";
strrev(buf);
strcat(buf,"\\\\");
strrev(buf);

c语言 如何在字符串中添加转义字符 \n~

在字符串中添加转义字符时,需要在转义字符的前面加一个'\'即可。因为C语言中转义字符都是以'\'开头的,因此在'
'的前面加一个下划线,相当于将'\\'当成一个转义字符,输出'\',而后面的字符'n'原样输出,以此达到输出'
'的目的。

举例如下:
char *str1 = "abc
";char *str2 = "abc\
";printf("%s", str1); // 输出abc并回车换行printf("%s", str2); // 输出abc
(没有回车换行)从上例可以看出,在转义字符之前加'\'能够原样输出转义字符。

把要插入的字符串从尾到头依次向后移动一位,然后把你需要插入的字符放在空出的第一位上。
重新建一个字符串,先放入你要插的字符,然后把原来的字符串中字符依次放入这个新的字符串中。
新建一个字符串把要插入的字符放进去,然后用strcat函数连接。
上边是3种比较简单的方法。