2014-12-31 3 views
0

사용자가 정보를 입력하고 몇 가지 변수에 저장 한 다음 해당 변수의 값을 출력 할 수있는 프로그램을 작성했습니다. 텍스트 파일을 StreamWriter를 사용합니다. 코드는 다음과 같습니다.StreamWriter를 사용하여 문자열뿐만 아니라 문자열 값을 텍스트 파일에 씁니다.

questionWriter -> Write (question, "|"); 
questionWriter -> Write (answerA, "|"); 
questionWriter -> Write (answerB, "|"); 
questionWriter -> Write (answerC, "|"); 
questionWriter -> Write (answerD, "|"); 
questionWriter -> Write (correctAnswer, "|"); 

여기에 문제가 있습니다. 나는 또한 수출하고자 | 뿐만 아니라 각 변수 앞의 구분 기호로, 다른 프로그램에서이 변수를 읽고 각 변수를 찾을 때마다 | 다른 변수가 올라오고 있음을 알 수 있습니다. 그러나 텍스트 파일로 이동할 때 아무 것도 나타나지 않습니다. 구문 오류 일 수 있다고 생각하지만 문제를 찾을 수 없습니다. 이상한 점은 "|"를 포함하지 않으면 공백없이 변수가 완벽하게 내보내집니다. 여러분 중 누군가가 실수를 저지르고 있거나 내가 시도하고있는 것을 성취하는 더 좋은 방법을 발견 할 수 있습니까?

답변

0

StreamWriter::Write의 설명서를 참조하십시오. 매개 변수가있는 Write()는 스트림에 쓰지만, 두 개 이상의 매개 변수를 사용하면 String.Format() -function의 변형으로 바뀝니다. 특히 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); 

희망이 도움이!

+0

내가 원하는 건, 환호! :디 – SGCSam