我尝试将文件SwiftyAds.shared.isRemoved = true
的内容复制到test1.mal
,程序说它正在这样做并且所有内容都会编译,但是当我打开output.txt
时文件,它是空白的...有人能告诉我哪里出错了吗?
output.txt
答案 0 :(得分:0)
您正在将文件复制到标准输出:
fputs(content, stdout);
必须由
取代fputs(content, fp2);
当您使用fprintf在输出文件中写入时,文件的光标已经在最后。您可以使用带有SEEK_SET的fseek()将其作为开头。
答案 1 :(得分:0)
您只需要一个缓冲区即可从输入文件中读取并将其写入输出文件。并且您需要在最后关闭文件以确保数据被刷新。
let proxied = createDeepProxy(obj, {
set(target, path, value, receiver) {
console.log(Chalk.green('set'), path.join('.'), Chalk.dim('='), inspect(value));
},
deleteProperty(target, path) {
console.log(Chalk.red('delete'), path.join('.'));
}
});
proxied.foo = 'bar'; // will trigger `set`
delete proxified.foo; // will trigger `deleteProperty`
答案 2 :(得分:0)
首先,你应该记住,在意识形态上更真实的是使用" rb"," wb"这里。当输入存在时,您必须将字节从一个文件复制到另一个文件。
#include <stdio.h>
int main() {
freopen("input.txt", "rb", stdin);
freopen("output.txt", "wb", stdout);
unsigned char byte;
while (scanf("%c", &byte) > 0)
printf("%c", byte);
return 0;
}
答案 3 :(得分:0)
您将文件读到最后,写入stdout。当您尝试进入第二个循环再次读取它时...您什么也得不到,因为您已经读过整个文件。尝试rewind
或fseek
返回到开头。或者只是重新打开文件。换句话说,只需添加:
rewind(fp1);
在第二个while循环之前。