C语言中的strcat函数

时间:2012-05-10 13:23:39

标签: c string

我有以下代码。

#include<stdio.h>
#include<string.h>

int main()
{
    char str1[1000]="/";
    char unit[1000]="Hai";
    strcat(str1,unit);
    printf("\nvalue of unit: %s\n", unit);
    return 0;
}

strcat应将"/"追加到"Hai"。因此printf的预期输出是'unit of unit:Hai /',但我得到的输出为'unit of unit:Hai'

知道为什么会这样吗?

2 个答案:

答案 0 :(得分:4)

请阅读strcat()的文档:它会告诉您使用strcat(dest, src)调用它。

因此,在您的情况下,str1将包含"/Hai"。如果您希望unit"Hai/",则应致电strcat(unit, str1)

答案 1 :(得分:2)

strcat(str1,unit);
//     ^dst  ^src

printf("\nvalue of unit: %s\n", unit);
//                              ^src

使用:

strcat(unit,str1);

注意:大多数C函数首先期望目标,然后是源。