反向strcat

Alp*_*neo 0 c string

我知道strcat(dest,src)将src追加到dest,并返回dest.现在,如果我想将dest附加到src.即在dest之前插入字符串"src",是他们的任何方式吗?

我试过用strcat之类的东西

dest = strcat(dest, src);
Run Code Online (Sandbox Code Playgroud)

但无法使其发挥作用.

PS:我正在尝试一些选择.因为迫切需要这个解决方案,我想把这个问题问到清单.

Gre*_*ill 5

如果您想在不修改的情况下执行此操作src,可以分两步完成:

strcpy(temp, src);
strcat(temp, dest);
Run Code Online (Sandbox Code Playgroud)

为了temp清楚起见,省略了所有错误处理和确定足够大的尺寸.

  • 并且为了完整性,在没有`temp`的情况下执行此操作将是`size = strlen(src); memmove(dest + size,dest,size); strcpy(dest,src);`(粗略地说 - 我第二次使用`memcpy()`但是它们都是相对的或者什么) (4认同)
  • @Chris:也许`size = strlen(src); memmove(dest + size,dest,strlen(dest)+1); memcpy(dest,src,size);` (3认同)