system()可以将输入文件中的数据回显到CMD吗?

时间:2017-01-06 11:57:57

标签: c

我试图保存无用的printf()函数,并在我启动程序时回显输入文件(.txt)中的数据,我试图用它来做一个使用命令重定向的system()函数。 https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true

我试图回应的数据是介绍和一套规则:

  

选择密码来保护Pancratius的信用卡,   安提阿古斯的后裔。   你的任务是通过泄露他的秘密密码来阻止Pancratius。

     

规则如下:
  1.在每一轮中你试着猜出密码(4个不同的数字)
  2.每次猜测后,您都会收到两个关于密码HITS的提示:您的猜测中的位数完全正确。
  MISSES:猜测所属的位数              密码,但错过了。

有可能这样做吗? 如果是这样,我应该使用哪个重定向命令? 可以是像

这样的东西
system("program.exe < input.txt")


谢谢。
编辑:

我真的想避免使用单个printf()及其中的整个文本并使用&#34; \ n&#34;等或对每个句子等使用大量的printf()函数(如上所述)。

1 个答案:

答案 0 :(得分:1)

首先,仅使用system()代替printf()来避免printf()是一个坏主意。如果你真的想从文件中读取read this

如果这是您不想printf

的原因
  

我真的想避免使用单个printf()及其中的整个文本并使用“\ n”等或使用大量printf()函数(如上所述)为每个句子等。

你可能想要检查一下。这样的printf可以同时完成,而不会使代码行完全变长。

printf(
    "A secret password was chosen to protect the credit card of Pancratius, "
    "the descendant of Antiochus. Your mission is to stop Pancratius by "
    "revealing his secret password. \n"
    "The rules are as follows: \n"
    "1. In each round you try to guess the secret password (4 distinct digits) \n"
    "2. After every guess you'll receive two hints about the password \n"
    "HITS: The number of digits in your guess which were exactly right. \n"
    "MISSES: The number of digits in your guess which belongs to the "
    "password but were miss-placed.\n");

如果你仍然坚持system(),你可以这样做:

system("cmd.exe /c type yourInput.txt");

有了这个,我祝你在错误处理上好运(比如找不到文件,错误的当前目录)。