我有一个.rc文件,用于在我的可执行文件中包含一些文本数据,如下所示:
1234 RCDATA myfile.txt
这很好用:'myfile.txt'的内容包含在我的可执行文件中。 问题是没有向字符串添加0终结符,我无法将其添加到文件中。有没有办法在.rc文件中添加0-terminator?像这样:
1234 RCDATA { myfile.txt, "\0" } // error RC2104
请注意,我已经找到了这个解决方案,但我正在寻找更优雅的东西。
1234 RCDATA myfile.txt
1235 RCDATA { "\0" }
非常感谢, 利
答案 0 :(得分:2)
我不这么认为,除非你自己编写资源编译器
我没有遇到一个允许从多个来源建立一个资源的人
您可以编写一个小实用程序来向文件添加尾部'\ 0',例如makeZ.exe,
并设置一个额外的构建步骤:
makeZ myfile.txt myfileZ.txt
在你.rc中会有
1234 RCDATA myfileZ.txt
答案 1 :(得分:0)
或者,您可以查看将数据嵌入RC本身,根据GORC manual中的此切片:
0x3333 RCDATA
BEGIN
"Hello world"
"Hello world (zero terminated)\0"
L"A Unicode version of the above\0"
0x9999 ;hex number stored as a word
END
MyRes RCDATA
BEGIN
1034 ;decimal number stored as a word
END
MyRes MyResType
BEGIN
10456L ;decimal number stored as a dword
1234L,56666L,99999L ;decimal numbers stored as dwords
END
34h 100h
BEGIN
33hL,34hL,35hL,36hL ;hex numbers stored as dwords
0x37L,0x38L,0x39L,0x40L ;C-style hex numbers stored as dwords
END
答案 2 :(得分:0)
您最好将尾随字符放在文件本身中。如果myfile.txt存储在ANSI中,则需要一个尾随字节,如果myfile.txt存储在Unicode中,则需要两个尾随字节,并且您的RCDATA语句无法打开它。