QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

VIP至尊会员

Rank: 15Rank: 15Rank: 15

积分
124
查看: 52|回复: 1

strcpy_s的用法

[复制链接]
最佳答案
0 
累计签到:1 天
连续签到:1 天
yuanyangxin 发表于 5 天前 521 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请问strcpy和strcpy_s该怎么用呢?
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<cstring>
  4. using namespace std;

  5. class Dog
  6. {
  7. private:
  8.         char* pName;
  9.         char* pColor;
  10.         static int counter;

  11. public:
  12.         Dog(char* pn, char* pc)
  13.         {
  14.                 pName = new char[strlen(pn) + 1];
  15.                 strcpy(pName, pn);//strcpy和strcpy_s
  16.                 pColor = new char[strlen(pc) +1];
  17.                 strcpy(pColor, pc);//strcpy和strcpy_s
  18.                 counter++;
  19.         }
  20.         int getCounter() {
  21.                 return counter;
  22.         }
  23. };

  24. int Dog::counter = 0;


  25. int main()
  26. {
  27.         Dog d1("小白", "白色");
  28.         Dog d2("小黄", "黄色");
  29.         Dog d3("小红", "红色");
  30.         cout << d1.getCounter() << endl;
  31.         system("pause");
  32.         return 0;
  33. }
复制代码

17,19行换成strcpy和strcpy_s都不行,里面的参数该怎么写呢?
楼层
跳转到指定楼层
最佳答案
0 
累计签到:1 天
连续签到:1 天
yuanyangxin  楼主| 发表于 5 天前 | 显示全部楼层
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<cstring>
  4. using namespace std;

  5. class BookShelf
  6. {
  7. private:
  8.         static int MAX_BOOKS;
  9.         int count;
  10.         char* name;
  11.         class  Book
  12.         {
  13.         private:
  14.                 char* title;
  15.                 int price;
  16.         public:
  17.                 Book(char* t, int p)
  18.                 {
  19.                         title = new char[strlen(t) + 1];
  20.                         strcpy(title, t);
  21.                         price = p;
  22.                 }
  23.                 char* getTitle() { return title; }
  24.                 int getPrice() { return price; }
  25.         };
  26.         Book* book[10];
  27. public:
  28.         BookShelf(char* n)
  29.         {
  30.                 name = new char[strlen(n) + 1];
  31.                 strcpy(name, n);
  32.                 count = 0;
  33.         }
  34.         void InsertBook(char* t, int p)
  35.         {
  36.                 if (count==MAX_BOOKS)
  37.                 {
  38.                         cout << "书架已经满了\n" << endl;
  39.                 }
  40.                 book[count++] = new Book(t, p);
  41.         }
  42.         void ListAllBooks()
  43.         {
  44.                 cout << "[" << name << "]" << endl;
  45.                 for (int i = 0; i < count; i++)
  46.                 {
  47.                         cout << book[i]->getTitle() << book[i]->getPrice() << endl;
  48.                 }
  49.         }
  50. };

  51. int BookShelf::MAX_BOOKS = 10;
  52. int main()
  53. {
  54.         BookShelf bks("salkld;sakdl;");
  55.         bks.InsertBook("book1", 23);
  56.         bks.ListAllBooks();

  57.         system("pause");
  58.         return 0;
  59. }
复制代码


这段代码也是一样的错误

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /2 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2017-12-12 12:14

快速回复 返回顶部 返回列表