MCPcopy Create free account
hub / github.com/BYVoid/OpenCC / ConvertLineByLine

Function ConvertLineByLine

src/tools/CommandLineMain.cpp:441–466  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

439}
440
441void ConvertLineByLine() {
442 PrintInteractiveStdinHint();
443 std::istream& inputStream = std::cin;
444 FILE* fout = GetOutputStream();
445 bool isFirstLine = true;
446 std::string line;
447 while (std::getline(inputStream, line)) {
448 if (!isFirstLine) {
449 fputs("\n", fout);
450 } else {
451 isFirstLine = false;
452 }
453 measurement.inputBytes += line.size();
454 const std::string& output = ConvertLineByMode(line);
455 measurement.outputBytes += output.size();
456 const auto writeStart = std::chrono::steady_clock::now();
457 fputs(output.c_str(), fout);
458 if (!noFlush) {
459 // Flush every line if the output stream is stdout.
460 fflush(fout);
461 }
462 measurement.writeMs += DurationToMilliseconds(
463 std::chrono::steady_clock::now() - writeStart);
464 }
465 fclose(fout);
466}
467
468void ConvertFileStreams(FILE* fin, FILE* fout) {
469 try {

Callers 1

CommandLineMainFunction · 0.85

Calls 5

GetOutputStreamFunction · 0.85
ConvertLineByModeFunction · 0.85
DurationToMillisecondsFunction · 0.85
sizeMethod · 0.45

Tested by

no test coverage detected