strcat有可能失败吗?
如果我们传递一些不正确的缓冲区或字符串,那么它可能会导致内存损坏.但是,除此之外,即使传递的目标字符串是非NULL,此函数也可能返回失败,就像strcat返回NULL一样?如果不是,为什么strcat具有指定的返回类型?
我刚刚提到过strcat作为例子.但是,这个问题适用于许多字符串和内存相关(如memcpy等)函数.我只是想知道其中一些看似"总是成功"的函数背后的原因有返回类型.
Ada*_*iss 10
返回指向目标字符串的指针可以很容易地以这种(可能不那么聪明)的方式使用输出:
int len = strlen(strcat(firstString, secondString));
Run Code Online (Sandbox Code Playgroud)