При попытке помочь другу решить проблему с его кодом, я столкнулся с очень странной ошибкой при компиляции следующего кода с помощью GCC.
#include <fstream>
#include <iostream>
#include <string>
int main() {
std::ifstream classes("classes.txt");
std::string line;
std::string txt = ".txt";
while (std::getline(classes, line)) {
std::cout << "[-]: " << line << "," << txt << std::endl;
}
return 0;
}
classes.txt
содержит следующее:
CSC1
CSC2
CSC46
CSC151
MTH121
Когда скомпилировано с Clang или MSVC , вывод будет следующим:
[-]: CSC1,.txt
[-]: CSC2,.txt
[-]: CSC46,.txt
[-]: CSC151,.txt
[-]: MTH121,.txt
Но, когда скомпилирован с GCC , это то, чтоВыводы кода:
,.txtCSC1
,.txtCSC2
,.txtCSC46
,.txtCSC151
[-]: MTH121,.txt
Я не могу понять, что здесь происходит.Кто-нибудь может объяснить это?
Изображение с версией GCC и выводом: ![enter image description here](https://i.stack.imgur.com/Cir4q.png)