gpt4 book ai didi

c++ - 当getline()读取的行大于系统内存时会发生什么?

转载 作者:行者123 更新时间:2023-12-03 07:22:54 24 4
gpt4 key购买 nike

假设C++ getline()从某个文件中读取单个行,该行超出了系统的内存容量(在超出内存容量之前没有换行符)。 while(getline(cin, line))循环会做什么?
而且,如果我需要通过抛出异常或其他方式来处理这种可能的极端情况,我将如何处理?

最佳答案

如果std::getline()最多读取 std::string::max_size() 个字符,它将停止读取并在输入流上设置failbit标志。
不过,std::string可能会比 std::bad_alloc 早得多地引发内存错误。

关于c++ - 当getline()读取的行大于系统内存时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64564963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com