gpt4 book ai didi

c++ - C++中的文件输入

转载 作者:行者123 更新时间:2023-11-28 08:10:28 24 4
gpt4 key购买 nike

我已经在互联网上搜索了一段时间,但我只能在知道文件名的情况下找到 C++ 中的文件输入。

我正在尝试编写一个程序来对文件中大于 0 的 2 个数字执行加法运算,但不使用 scanf 或 cin。我想将文件加载到内存中,但我能找到的关于这种情况的所有代码都需要知道文件名。文件格式为单行2个整数,中间用空格隔开,还有多行整数。该程序将输出两个数字的总和。我可以使用 scanf 轻松地做到这一点,但如果给我一个大文件,我会想将它加载到内存中(保存映射以备后用)。

将文件加载到内存中给我带来了麻烦,因为我不知道文件名,也不知道如何找到,除非用户输入文件名(不会发生)。我希望程序像这样执行,但使用最原始、最基本的 C++ IO 形式:

./myprog < boatloadofnumbers

我将如何启动我的程序以将整个“boatloadofnumbers”作为一个文件,以便我可以使用更多基本函数,如 read()? (另外,上面的方法叫什么?传递输入?)

int main(){
int a,b;
while (scanf("%i,%i",&a,&b)>-1){
printf("%i\n",(a+b));
} //endwhile
return 0;
} //endmain

最佳答案

当程序如您所述被调用时,boatloadofnumbers 的内容可以从 std::cin 中读取。

此方法称为输入重定向,由 shell 完成,而不是您的程序。

有了输入重定向,shell 通常会缓冲文件的内容。这是一种通过计算一次性流式传输文件的非常快速的方法。

关于c++ - C++中的文件输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9244335/

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