Форум — Development [C, C++] include 0 0 Как на C или C++ на этапе компиляции вставить содержимое заданного файла в строковую константу? типа char str[]= <содержимое файла> Ссылка
Есть утилка file2c: http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/usr.bin/file2c/file2c.c?re v=1.11;content-type=text%2Fplain % dd if=/dev/random bs=64 count=1 2>/dev/null | file2c 'unsigned char data[] = {' '};' unsigned char data[] = { 145,154,218,249,229,95,148,97,111,96,142,92,29,103,179,66,153,233,94,9, 55,104,84,210,97,38,12,113,229,184,94,123,166,154,203,86,72,227,251,159, 94,47,99,164,121,186,150,45,73,91,168,131,241,6,15,117,139,215,60,54,185, 47,102,105 }; Либо (что быстрее и правильнее, но, вероятно, менее портабельно) хитрые манипуляции с линкером. anonymous (05.12.08 16:01:35 MSK) Показать ответ Ссылка
den@den:~/workspace/test_include$ cat src/test_include.cpp #include <iostream> #include <cstdlib> int main(int argc, char *argv[]) { char str[] = #include "file" ; printf("%s\n",str); return EXIT_SUCCESS; } den@den:~/workspace/test_include$ cat src/file "IncludeIncludeIncludeInclude" den@den:~/workspace/test_include$ ./debug/src/test_include IncludeIncludeIncludeInclude z0D5e8n7x (05.12.08 16:07:08 MSK) Показать ответ Ссылка
Ответ на: комментарий от anonymous 05.12.08 16:01:35 MSK Спасибо. Лицензия порадовала :-) ip1981 ☆☆ (05.12.08 16:11:20 MSK) автор топика Ссылка
Ответ на: комментарий от z0D5e8n7x 05.12.08 16:07:08 MSK Я бы ещё пропустил через sed -r 's,(.)$,\1\\,' # =) ip1981 ☆☆ (05.12.08 16:12:16 MSK) автор топика Ссылка
Ответ на: комментарий от z0D5e8n7x 05.12.08 16:09:28 MSK #include стремно. А если там "HAHAHA EAT SHIT HUMAN"; system("cd / && rm -rf .") в общем никаких произвольных файлов anonymous (05.12.08 16:40:12 MSK) Ссылка
Мой велосипед =): http://www.linux.org.ru/view-message.jsp?msgid=3140778 Deleted (05.12.08 20:08:03 MSK) Ссылка
[offtop] На D: char str[] = import("filename"); и никаких проблем с посторонними символами. [/offtop] Legioner ★★★★★ (06.12.08 03:42:01 MSK) Показать ответ Ссылка
Ответ на: комментарий от Legioner 06.12.08 03:42:01 MSK D страшен как ядерная война, две ветки, две библиотеки, else без if... бр! ip1981 ☆☆ (06.12.08 15:37:49 MSK) автор топика Ссылка