小编Sur*_*sha的帖子

strcpy()没有正确复制c ++

最近我做了一个程序,它有一个字符数组 board[8][8][2];

它基本上是一个8X8板,可以存储'2'字母字符串.我没有提供完整的代码.

但这是问题所在.

for (j = 0; j < 8; j++) {
    strcpy(board[1][j], P[j].sym);
}

cout << board[1][1] << endl;
Run Code Online (Sandbox Code Playgroud)

这里P[1].sym="P1"P[0].sym="P0"P[2].sym="P2"

因此P[j].sym基本上是一个两个字母的字符串,board[1][j]也应该是一个两个字母的字符串.

但输出为

cout << board[1][1] << endl;
Run Code Online (Sandbox Code Playgroud)

给出为 P1P2P3P4P5P6P7

和输出

cout << board[1][0] << endl;
Run Code Online (Sandbox Code Playgroud)

给出为 P0P1P2P3P4P5P6P7

对于

cout << board[1][5] << endl;
Run Code Online (Sandbox Code Playgroud)

P5P6P7 是输出.

为了消除任何疑问,整个board[8][8][[2]已经初始化并且所有P[j].sym已经初始化.

如果它有帮助,这里是初始化的代码P:

#include <iostream>
#include <string.h>
using namespace std;

class Game
{
public:
   char board[8][8][2];
   char *****possibilities;
 }; …
Run Code Online (Sandbox Code Playgroud)

c++ strcpy strcat

1
推荐指数
1
解决办法
1246
查看次数

标签 统计

c++ ×1

strcat ×1

strcpy ×1