【发布时间】:2020-07-10 02:49:01
【问题描述】:
我已经用谷歌搜索了一段时间,但我似乎没有得到任何类似于我所要求的内容。
我正在创建一个非常简单的 C 脚本,它创建了一堆模板文件(它们都不是代码或库或任何东西,它们只是 txt 文件),这取决于通过控制台传递的参数,我的方式要解决这个问题是只使用 fopen 和 fwrite,基本上逐行组装文件,只替换我需要的文件,但我认为必须有一种方法将一些文件捆绑到代码中,这样我就可以打开并替换什么需要因情况而异。
我想我也可以创建几个 const char *file_text 就可以了,但是我想知道如果需要使用比 text 更难处理的东西,我的要求是否可行出现。
问题是我似乎无法找到,明确地说,我想在控制台上做这样的事情: ./Gen.sh 项目名称
并且让 Gen.sh 成为一个独立的文件,无需将原始模板保存在同一个文件夹中。
【问题讨论】:
-
注意:没有“C 脚本”之类的东西。 C 不是脚本语言。它必须被编译,否则它不会做任何事情。话虽如此,为什么要使用 C 而不是 Python、Ruby、Perl 甚至 Bash 等更宽容的东西?
-
您可以编写一个快速构建脚本来将任意文件转换为 C 字符串常量,然后将它们编译到您的代码中,但目前尚不清楚这比拥有一个充满纯文件的目录更好无需重新编译即可轻松编辑和调整。
-
我的意思是让它通过这样的方式编译成输出:gcc -Wall -o Gen.sh -main.c
-
是的,但是因为当你必须重复输入所有这些内容时会非常痛苦,通常你会设置一个
Makefile或类似的东西。 -
xxd -i somefile输出将文件内容表示为无符号字符数组的 C 代码。