2
我試着去理解文件讀取c++
和嘗試讀取不存在故意爲什麼讀一個不存在的文件打印垃圾字符?
//includes ommited
int main(int argc, char ** argv)
{
if(argc != 1)
throw std::exception();
std::ifstream file(argv[0]);
std::string content((std::istream_iterator<char>(file)), std::istream_iterator<char>());
std::cout << content.c_str() << std::endl;
}
文件它打印出以下幾點:
ELF
爲什麼它應該是什麼意思?我只是通過這樣做得到UB嗎?由於我是Java編碼器,如果我們嘗試讀取不存在的文件,我預計會拋出一些異常...
好的,現在它只是沒有打印任何東西 –
也許是因爲你的情況拋出異常。這也應該是第一種情況下的行爲。 – LogicStuff
@StAntario您應該將參數傳遞給您的可執行文件 - 只需將它追加到Coliru上的'.a.out'後。 –