From 55619674c9995999038bb9f00bb2c65085ee2ce9 Mon Sep 17 00:00:00 2001 From: chenxub Date: Wed, 1 May 2024 20:42:57 +0800 Subject: [PATCH] update outputFileStream --- main.cpp | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/main.cpp b/main.cpp index 1777230..1dfb123 100644 --- a/main.cpp +++ b/main.cpp @@ -40,8 +40,8 @@ std::unordered_map loadCitations(const std::string& fi int main(int argc, char** argv) { std::unordered_map citations; - std::string citationFile, inputFile; - std::ofstream outputFile; + std::string citationFile, inputFile, outputFile; + std::ofstream outputFileStream; std::ostream* output; if (argc == 4) { @@ -63,12 +63,7 @@ int main(int argc, char** argv) { } citationFile = argv[2]; citations = loadCitations(citationFile); - outputFile.open(argv[4]); - if (!outputFile) { - throw CitationError("Failed to open output file\n"); - std::exit(1); - } - output = &outputFile; + outputFile = argv[4]; inputFile = argv[5]; } else { @@ -84,6 +79,11 @@ int main(int argc, char** argv) { // auto input = readFromFile(argv[3]); // ... + if (argc == 6) { + outputFileStream.open(outputFile); + output = &outputFileStream; + } + // print the paragraph first std::set citationIDs; std::ifstream inputFileStream{inputFile}; @@ -105,7 +105,5 @@ int main(int argc, char** argv) { for (auto id : citationIDs) { *output << citations[id]->toString() << std::endl; } - if (argc == 6) { - outputFile.close(); - } + }