我对计算机科学很陌生。在讲座结束时,我的 AP 计算机科学老师提到在排序数组中查找指定值的比较模型是big omega (log n) ie ?(log n),据我所知,这意味着它是不可能完成的这个任务比O(log n)快。为什么是这样?
我有一个程序可以将源文件复制到目标文件。
如果用户只提供 1 个文件或都不提供这些文件,我想使用 stdin 或 stdout。
例如:命令行参数中未提供源文件名,但提供了目标文件名。程序应该从标准输入读取输入并写入给定的目标文件。
我知道,freopen()但我不知道在这种情况下应该如何使用它。
下面是我认为逻辑是如何完成的样板代码,但我找不到任何对我学习有帮助的示例。任何见解都值得赞赏。
char *src = NULL; (unless user provides in preceding code not shown)
char *dest = NULL; (^^)
// open files based on availability
// src and dest not provided, read from stdin and write to stdout
if (src == NULL && dest == NULL) {
FILE *in = freopen(src, "r", stdin);
FILE *out = freopen(dest, "w", stdout);
// TODO
fclose(in);
fclose(out);
// src not provided, read from stdin …Run Code Online (Sandbox Code Playgroud)