谁能帮助我吗?我需要读取一个名为address.txt的文件并正常工作 每个单词都在那里(我每行都有一个单词,以简化它)。我被禁止使用这些功能:
Malloc,freee,fopen,fclose,fscanf,... qsort,lsearch,bsearch a hsearch 我认为老师要我们使用getchar,argv,argc或 类似的东西。
假设程序的名称是test.c ____ /test.c< address.txt中
如果我在启动程序时将其写为参数,我应该是 能够使用文本文件。有关如何提取数据的任何提示 存储在address.txt中?我试过几次都没有成功:/ 只有fopen为我工作。
编辑:我做的一切都很好,Code :: Blocks编辑程序导致了问题。我在Linux终端试过它,它运行得很好! :)
答案 0 :(得分:1)
是的,如果您的程序是这样启动的:
$ ./test < address.txt
然后(假设一个兼容的操作系统,但这在主要桌面系统中相当标准),您的程序将以stdin
流开始,该流连接到文件address.txt
的内容。
因此,您可以使用getchar()
从中读取,并找到单词。
请注意,您不会启动C文件,必须先编译它。