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:是的,完全正确。这就是上述声明将要做的。(你看到什么问题了吗?)