首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过#include将文件内容赋值给char数组

通过#include将文件内容赋值给char数组
EN

Stack Overflow用户
提问于 2012-04-21 05:14:47
回答 4查看 594关注 0票数 0

我想在C++中做以下事情:

代码语言:javascript
复制
static const char* data[] = { #include "mydata.hh" };

其中mydata.hh的内容应该作为字符数组分配给数据。我已经尝试了各种变体和(一级和二级)字符串化,通过#include的#x。到目前为止,没有一个有效。这真的是可能的吗?还是我错过了什么?

谢谢您的支持。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-21 05:21:42

您可以:

代码语言:javascript
复制
static const char* data[] = {  // <--- new line 
#include "mydata.hh" 
};   // <--- don't forget semi-colon

但是为什么呢?

这都是假设mydata.hh包含与声明兼容的内容:

代码语言:javascript
复制
//mydata.hh
"bla", "goo", "foo"
票数 8
EN

Stack Overflow用户

发布于 2012-04-21 05:23:40

预处理器只适用于以可选空格和#开头的语句,因此您需要将#include放在单独的行上。

示例:

代码语言:javascript
复制
static const char* data[] = {
#include "mydata.hh"
};
票数 0
EN

Stack Overflow用户

发布于 2012-04-21 05:26:27

在include指令周围换行。所有字符必须在"header“中用逗号分隔。然后,您的代码将被成功编译。尽管我确信这样的编程风格看起来很糟糕。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10253636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档