使用QMake,我阅读了一些样板代码,进行修改并将修改后的代码写入文件。 但是,我得到了非常奇怪的结果。我已将问题简化为以下内容:
# Open boiler plate file
interfaceBoilerPlateCode = $$cat($$boilerPlateFile, blob)
# Make sure we read the right content
message("Content read: $$interfaceBoilerPlateCode")
# Write the read text into a file
output = $$system(echo $$interfaceBoilerPlateCode >> $$targetFile) # Doesnt work
output = $$system(echo "Howde" >> $$targetFile) # This works
正在读取的文件是纯文本文件,只包含字符串“Howde”。 正确读取文件的内容。
但是,当我尝试将文件的内容写入另一个目标文件时,我没有输出(字面意思是:没有错误/警告,但没有生成新文件)。但是,如果我只使用echo代码本身定义的字符串(如上面代码片段的最后一行),则会生成一个新文件,其中包含字符串“Howde”。
发生了什么事?倒数第二行没有生成新文件我做错了什么?
答案 0 :(得分:1)
使用write_file。而不是:
$$system(echo $$content >> $$file_path)
使用
write_file($$file_path, $$content)