File 任何程序都可以将文本文件读入c++;密码? 程序是否可以打开文本文件并将其作为C++代码使用?如果是,怎么做?如果一个程序想把文本文件中的代码附加到它自己身上呢?那会发生吗? 谢谢 < P>取决于你所说的“文本文件”和“使用它作为C++代码”。如果“文本文件”是指包含未编译的C++代码的文件,并且“使用它作为C++代码”,你就意味着执行它,答案是否定的,你需要先编译它,然后才有真正的用途(除非你想编写某种解释程序或编译器)。 关于第二个问题,我认为这是可能的,但是这将是非常困难的,因为你需要编译该文本文件中的C++代码,然后以有意义的方式将其插入到程序中。

File 任何程序都可以将文本文件读入c++;密码? 程序是否可以打开文本文件并将其作为C++代码使用?如果是,怎么做?如果一个程序想把文本文件中的代码附加到它自己身上呢?那会发生吗? 谢谢 < P>取决于你所说的“文本文件”和“使用它作为C++代码”。如果“文本文件”是指包含未编译的C++代码的文件,并且“使用它作为C++代码”,你就意味着执行它,答案是否定的,你需要先编译它,然后才有真正的用途(除非你想编写某种解释程序或编译器)。 关于第二个问题,我认为这是可能的,但是这将是非常困难的,因为你需要编译该文本文件中的C++代码,然后以有意义的方式将其插入到程序中。,file,text,interface,runtime,append,File,Text,Interface,Runtime,Append,如果您只是出于好奇而这样做,那么使用解释语言(如Perl或Ruby)可能会更幸运。我自己也有点好奇,所以我尝试了一下以下ruby脚本(保存在alpha.rb中)的问题: 运行它之后,您将看到添加了一行新代码。如果您再次运行它,它将运行代码。我认为它不是第一次运行的原因是,文件在运行时已经加载到Ruby中,因此在重新加载之前,它不会看到对文件的更改 当然,我们可以通过使用第二个文件()来解决这个问题 Alpha.rb print "Alpha running...\n" File.open('be

如果您只是出于好奇而这样做,那么使用解释语言(如Perl或Ruby)可能会更幸运。我自己也有点好奇,所以我尝试了一下以下ruby脚本(保存在alpha.rb中)的问题:

运行它之后,您将看到添加了一行新代码。如果您再次运行它,它将运行代码。我认为它不是第一次运行的原因是,文件在运行时已经加载到Ruby中,因此在重新加载之前,它不会看到对文件的更改

当然,我们可以通过使用第二个文件()来解决这个问题

Alpha.rb

print "Alpha running...\n"
File.open('beta.rb', 'a') do |beta|
    beta.puts("\nprint \"But alpha got the last word.\\n\"")
end
load 'beta.rb';
print "Beta running...\n"
File.open('alpha.rb', 'w') do |alpha|
    alpha.puts("print \"Sneaky Beta addition.\\n\"")
    alpha.puts("\nprint \"Beta overwrote alpha!\\n\"")
    alpha.puts("\nprint \"This code only works once =) \\n\"")
end

load 'alpha.rb'
Beta.rb

print "Alpha running...\n"
File.open('beta.rb', 'a') do |beta|
    beta.puts("\nprint \"But alpha got the last word.\\n\"")
end
load 'beta.rb';
print "Beta running...\n"
File.open('alpha.rb', 'w') do |alpha|
    alpha.puts("print \"Sneaky Beta addition.\\n\"")
    alpha.puts("\nprint \"Beta overwrote alpha!\\n\"")
    alpha.puts("\nprint \"This code only works once =) \\n\"")
end

load 'alpha.rb'
<>我想你可能在C++中做类似的事情,但是这会复杂得多,因为你将把你的代码编译成二进制,即使这样,你也不能只是追加它。