问题描述
问题解答
回答1:sprintf(cmd, 'echo ’%s %s’ >> reports.log', now());
格式字符串中明明有两个%s,后边的参数却只有一个now()(你的编译器没有警告吗?)。在sprintf()中,就以为你传入了两个字符串,当它去读取那个不存在的参数时,就访问违规了。我看到你还有个comment变量没使用,是不是这个意思:
sprintf(cmd, 'echo ’%s %s’ >> reports.log', now(), comment);
至于创建的文件,就在编译出来的EXE文件旁边,不一定在源码目录。关于题目中的系统调用:我第一反应是open(),然后是CreateFile(),你这个算是命令行吧,不能叫系统调用。

