Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 修改传递给函数的字符数组_C++_Arrays_Char - Fatal编程技术网

C++ 修改传递给函数的字符数组

C++ 修改传递给函数的字符数组,c++,arrays,char,C++,Arrays,Char,我有一个函数,我想修改传递给它的cardString[],以便cardString[]包含[charSuit,cardRank,'\0']: void getCard(int row, int column, char cardString[]){ PlayingCard myCard = myDeck.cardArray[row][column]; char charSuit; char charRank; if (myCard.getSuit() ==

我有一个函数,我想修改传递给它的
cardString[]
,以便
cardString[]
包含
[charSuit,cardRank,'\0']

void getCard(int row, int column, char cardString[]){
    PlayingCard myCard = myDeck.cardArray[row][column];
    char charSuit;
    char charRank;   

    if (myCard.getSuit() == CLUB)
        charSuit = 'C';
    else if (myCard.getSuit() == SPADE)
        charSuit = 'S';
    else if (myCard.getSuit() == HEART)
        charSuit = 'H';
    else if (myCard.getSuit() == DIAMOND)
        charSuit = 'D';
    if (myCard.getRank() == NINE)
        charRank = '9';
    else if (myCard.getRank() == TEN)
        charRank = 'T';
    else if (myCard.getRank() == JACK)
        charRank = 'J';
    else if (myCard.getRank() == QUEEN)
        charRank = 'Q';
    else if (myCard.getRank() == KING)
        charRank = 'K';
    else if (myCard.getRank() == ACE)
        charRank = 'A';
}

没有一种单行方式来分配整个数组;您需要编写三个赋值语句:

cardString[0] = charSuit;
cardString[1] = charRank;
cardString[2] = '\0';

我想修改传递给函数的char数组。char数组最初定义为charArray[3]=['\0','\0','\0']@user1004358:它实际上只是一个指针,所以你可以像任何其他(指针或数组语法)一样对它进行写入;p=卡片串*p=charSuit+charRank
cardString
是一个字符数组……您想在其中存储什么?但是我的函数是一个空函数,我想更改内存中的cardString。@user1004358:是的,完全正确。这就是上述声明将要做的。(你看到什么问题了吗?)