返回列表 回复 发帖

关于strncpy函数的问题

#include<iostream.h>
#include<string.h>
void main()
{
    char a[]="yyyyhhhh";
    char b[20];
    char c[10];
    strcpy(b,a);
    strncpy(c,a,5);
    cout<<a<<endl<<b<<endl<<c<<endl;
}

结果却是:
yyyyhhhh
yyyyhhhh
yyyyhC@
结果的第三行为什么会有乱码呢????
我有香烟我有啤酒我有我的影子陪我抽烟陪我喝酒
b和c在使用前都应该用memset清0

memset(b, 0, sizeof(b));
memset(c, 0, sizeof(c));
开源,人人为我,我为人人!
谢了
结果对了 可是那个memset函数我有点不明白,他是什么意思是干什么用的
我有香烟我有啤酒我有我的影子陪我抽烟陪我喝酒
我在网上查到说明了 谢谢了
我有香烟我有啤酒我有我的影子陪我抽烟陪我喝酒
内存没有初始化
返回列表