如何在c ++中使用printf打印std :: string数组?

时间:2013-11-22 12:57:10

标签: c++ string printf std stdstring

我正在尝试用printf和我的代码打印std :: string。但它不会打印我指定的字符串。

标头文件

#include "cocos2d.h"

#include <iostream>

class Cards : public cocos2d::CCLayer{
public:
    virtual bool init();
    virtual void load();

    std::string TotalCards[52];
}



#include "Cards.h"
    bool Cards::init(){
        if ( !CCLayer::init() ) {
            return false;
        }

        TotalCards[0] = "ClubsA";
        TotalCards[1] = "HeartsB";
        TotalCards[2] = "Diamonds4";

        return true;
    }


    void Cards::load(){

        printf("Hey I am HERE\n");

        for (int i=0 ; i<3; i++) {
            printf("CARD NAME %s\n", TotalCards[i].c_str());
        }

只打印

CARD NAME

CARD NAME

CARD NAME

1 个答案:

答案 0 :(得分:1)

在调用Cards::init()之前,请确保Cards::load被称为并返回true Cards::load访问的数组将包含三个空字符串,以防Cards::init()未调用,或者返回false。