我编写了一个程序,允许用户输入信息并将它们存储在几个变量中,然后使用StreamWriter将所述变量的值输出到文本文件中。代码如下:
questionWriter -> Write (question, "|");
questionWriter -> Write (answerA, "|");
questionWriter -> Write (answerB, "|");
questionWriter -> Write (answerC, "|");
questionWriter -> Write (answerD, "|");
questionWriter -> Write (correctAnswer, "|");
现在问题就在这里。我也想导出一个|以及作为分隔符的每个变量的前面,因为我希望另一个程序读取这些变量,并且每次找到|时它知道另一个变量即将到来。但是,当我转到文本文件时,没有任何内容。我相信它可能是语法错误,但我找不到问题。奇怪的是,如果我不包含“|”,变量将被完美导出,只是没有空格。您是否有人注意到错误或者更好的方式来完成我正在尝试的事情?
答案 0 :(得分:0)
请参阅StreamWriter::Write上的文档,其中显示只有参数的Write()将参数写入流,但是当使用两个(或更多)参数时,您将更改为String.Format()的变体 - 函数,尤其需要查看format规范。
换句话说,您可以尝试以下任一方法来实现目标:
// depreceated as it unclear to read, but it does make all arguments into one object
questionWriter->Write(question + "|" + answerA + "|" ... );
// my preferred variant
questionWriter->Write("{0}|{1}|{2}|{3}|{4}|{5}|",
question, answerA, answerB, answerC, answerD, correctAnswer);
希望这有帮助!