C:在字符串中更改char

时间:2015-03-30 04:00:24

标签: c arrays char digit

虽然这是一个基本问题,但确切情况与平均值不同。我有char board [] = {" 13572"}代表一个板(数组的索引是板的行,int(表示为char)是该行中的元素数如果用户输入" 3 3"这意味着他们想要将索引2处的元素数量更改为2(或者当用户看到它将第3行中的元素数量更改为2时,也是用户认为索引对于Y为1-4,对于X为1-7,将板改为{" 13272"}。我遇到的问题是输入可以将所选行中的值更改为' /'或' 0'而不是所需的值。感谢任何建议,相关功能如下:

此外,董事会是一个全球变量。 将数组中的字符更改为整数(单个数字):

int bd2int (char board[], int index){
    char buff[2] = {board[index],'\0'};
    return atoi(buff);
}

根据移动更改电路板(char移动[3]格式" X Y"):我认为问题出在这里,如果索引2被更改,则将电路板打印为字符串时,电路板将只打印到索引1,表示一个' \ 0'被插入索引2。

int update(char move[]){
   int x;
   int y;
   x = bd2int(move,0);
   y = bd2int(move,2);
   x--;
   board[y-1] = (char)x;
   totalElements=    bd2int(board,0)+bd2int(board,1)+bd2int(board,2)+bd2int(board,3);
   return 1;
}

1 个答案:

答案 0 :(得分:0)

感谢您的帮助,问题是行board[y-1] = (char)x;我找到了一种更准确的方法将int x转换为char x,解决了此问题:https://stackoverflow.com/questions/1114741/how-to-convert-int-to-char-c