c - C编程将char数组复制到char的二维数组
问题描述
在项目的这一部分中,我试图将具有空格的 char 数组复制到 char 的 2D 数组中,我想在空格之前将 1D 数组中的每个字符串分开并将其放入 char 的 2D 数组中。
这是我的代码。
#include <stdio.h>
int main()
{
int tracker = 0;
char string[100];
int b1 = 0;
int b2 = 0;
char bitString[100][8];
printf("Project Zero\n");
printf("Enter an 8-bit Binary Number!\n");
gets(string);
memset(&bitString[0], 0, sizeof(bitString));
while(string[tracker] != '\0')
{
if(!isspace(string[tracker]))
{
bitString[b1][b2] = *(string+tracker);
b2++;
tracker++;
}
else
{
b1++;
tracker++;
b2=0;
}
}
printf("String is: %s\n",*(bitString+0));
printf("String is: %s\n",*(bitString+1));
return 0;
}
我的输入是:00001111 00001100
结果是这样的:字符串是:0000111100001100
字符串是:00001100
我不明白为什么 *(bitString+0) 的结果是我输入的所有字符串都没有空格。有人可以向我解释为什么会这样,我能做些什么来解决它。
解决方案
如果变量 b2 在 while 循环中大于j
参数的大小,则会char bitString[i][j];
导致bitString[0][8]
交互中的分段错误。
推荐阅读
- java - 如何根据 JComboBox 所选项目对 JTable 进行排序
- node.js - HTML5 音频无法使用 Handlebars 模板化 src 属性播放
- c++ - 如何通过引用推送向量?
- f# - 如何从记录转换为元组?
- python-3.x - 如何发送多个收件人 sendgrid V3 api Python
- python - 检查一对字符串是否是压缩列表的子字符串 - python
- javascript - 在 js 中使用 mixins 的最佳方法是什么?
- arrays - 谁能告诉我一个算法来创建一个函数,该函数将数组的所有可能分区返回到 n 个子集中,同时保持数组的顺序?
- android - 非常不确定如何使用 moshi 反序列化 JSON 嵌套对象
- javascript - 在javascript中将数组复制到一定长度