0){ fwrite-6ren">
gpt4 book ai didi

c - C代码优化-防止多文件打开

转载 作者:行者123 更新时间:2023-12-03 17:05:58 24 4
gpt4 key购买 nike

yyin = fopen("input_file.txt","r");
while ((nread = fread(buf, 1, sizeof buf, yyin)) > 0){
fwrite(buf, 1, nread, stdout);
}
fclose(yyin);
yyin = fopen("input_file.txt","r");
yyparse();
fclose(yyin);

如您所见,我多次打开同一个文件。首先,我想在我的 cmd/terminal 中打印输出;然后我想启动解析器。问题很明显:每个打开过程都会消耗资源,但 fread 和 fwrite 的组合似乎“清理”了我的输入文件,这样 yyparse 就不会获得任何进一步的输入并且基本上保持为空。

您是否知道如何在不打开 2 个文件的情况下提高性能或流畅性?

最佳答案

您可以使用 rewind() 再次返回到文件的开头。参见 this documentation了解更多详情。

关于c - C代码优化-防止多文件打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36351769/

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