三年游戏人 2015-10-21 04:14 采纳率: 50%
浏览 1991

c++中用vs2013时strcpy_s的问题

#include
#include
int main()
{
using namespace std;
char animal[20] = "bear";
const char * bird = "wren";
char * ps;

cout << animal << " and ";
cout << bird << "\n";

cout << "Enter akind of animal: ";
cin >> animal;

ps = animal;
cout << ps << "!\n";
cout << "Before using strcpy():\n";
cout << animal << " at " << (int*)animal << endl;
cout << ps << " at " << (int*)ps << endl;

ps = new char[strlen(animal) + 1];
strcpy_s(ps, 20, animal);                   //为什么20改成strlen(animal)+1之后输入后按下回车就结束了
cout << "After using strcpy():\n";
cout << animal << " at " << (int*)animal << endl;
cout << ps << " at " << (int *)ps << endl;
delete[] ps;
cin.get();
return 0;

}

这段代码运行不正常,我用的vs2013

  • 写回答

1条回答 默认 最新

  • oyljerry 2015-10-21 07:25
    关注
     用sizeof(animal)
    
    评论

报告相同问题?