c - 在 C 中创建一个 char[] 数组

标签 c string variable-assignment

我正在使用需要提供大型 (20kb) 静态 html 页面的 wifi 微 Controller 。由于微 Controller 上的单个缓冲区仅容纳 1.4kb,因此有必要将 html 分成 block 并一次发送一个 block 。

我现在有大约 100 个字符串赋值,如下所示:

char HTML_ID_96[] = "\
<p><a href=\"#t\">Return to top</a></p>\
<a id=\"id9\"/>\
<span class=\"s\">Firmware Version/Information</span>\
<span class=\"c i\" id=\"id9-h\" onclick=\"h(\'id9\');\">hide</span>&nbsp;\
<span class=\'c\' id=\"id9-s\" onclick=\"s(\'id9\');\">show</span>\
<table class=\"t i\" id=\"id9-table\"><tbody>\
";

我想要一种通过将所有字符串粘贴到数组中来对所有字符串施加可迭代序列的方法,但我不确定如何打包它们。

我试过:

char** all = [HTML_ID_1, ..., HTML_ID_99];
char* all[] = [HTML_ID_1, ..., HTML_ID_99];
char all[][] = [HTML_ID_1, ..., HTML_ID_99];

但它们都无法编译。任何对 C 如何处理数组的引用都是额外的奖励。

扩展名:

char const* HTML_ID_100 = "\
</form>\
</body>\
</html>\
";

char const* all[] = {HTML_ID_100};

未编译。我正在使用 gcc 3.4.4。报告了两个错误:“initializer element is not constant”和“(near initialization for 'all[0]')”。两者都出现在显示的最后一行。

最佳答案

使用大括号进行数组初始化。

char* all[] = { HTML_ID_1, ..., HTML_ID_99 };

关于c - 在 C 中创建一个 char[] 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16717273/

相关文章:

c++ - 如何生成伪随机数容易地?

c - 从 C 中的输入文件中识别字符

php - 将逗号分隔的字符串拆分为数组?

arrays - 在循环中将 conj 与数组一起使用时出现空指针错误

r中if语句的返回值

c - 当初始化固定大小的 char 数组时没有足够的空间容纳 null 终止符时,不会出现编译器错误

c - c中的标准输入和输出

python 字符串替换,所有可能的组合 #2

java - 为相同的 azure 位置获取不同的格式

c++ - 算法能否安全地解决输入到输出的 self 分配问题?