0

我正在使用命令提示符功能和一个简单的程序在 C 中生成一个文本文件。这是程序:

#include <stdio.h>

int main(void)
{
    char buf[80];

    fgets(buf, 30, stdin);
    printf("the input was %s\n", buf);
    return 0;
}

我的编程书想要展示如何使用命令提示符从程序中制作文本文件,并指示输入单词“redirect”,然后输入“>”,然后输入带有“.txt”的程序名称。如下:

redirect> programname.txt

现在这是在桌面上生成一个文件“programname.txt”,但它是空的。这本书声称该配方应该允许我输入一个字符串(因为程序是设计的),并且这个字符串将在生成的 programname.txt 文件中。此外,命令行中有一条警告:“不被识别为内部或外部命令”。我以前有过这个 schpill,但是文本文件生成确实有效,因为它确实生成了 .txt 文件。为了让这个程序按预期工作,我在这里缺少什么?

4

2 回答 2

1

您似乎对它不是您的程序,而是创建文件的 shellprogramname.txt甚至尝试运行您的程序之前感到困惑。

在第一个成功并创建了一个空文件之后,后者可能会失败,因为您的 PATH 中没有命令redirect,或者您的 shell 中存在这样的命令,正如已经建议的那样。

于 2013-10-31T00:27:22.360 回答
0

在 shell 中执行输出重定向的常用方法是使用> filename, 但不是redirect在它之前使用,这与您所说的相反。之前出现的>是要重定向的命令。

因此,假设您编译程序并将其保存foo在当前目录中(例如cc -o foo myprogram.c)。在这种情况下,您可以通过以下方式重定向其输出:

./foo > filename.txt
于 2013-10-31T00:26:27.523 回答