gpt4 book ai didi

c - 如何在不创建临时文件的情况下从 char * 创建 FILE*

转载 作者:太空宇宙 更新时间:2023-11-04 07:29:15 27 4
gpt4 key购买 nike

我正在创建一个使用 lex 和 yacc 来解析文本的程序,但我需要创建一个包含各种内容的解析器。我不想使用标准输入,如果我使用 FILE *yyin 指定输入,我可以更改源。我需要可以调用库解析(使用 lex 文件和 yacc 文件创建)中的函数来解析此内容并接收结果。

/**
* This i don't know is possible, receive a char * and return a FILE*
*/
FILE *function_parse_to_file(char* text){
FILE *fp = NULL;
/**
* is really necessary create a temporary file with content text?
*/

return fp
}
/**
* I need call from other library or application
*/
char *function_parse_from_lex(char* text){
yyin = function_parse_to_file(text);
init();
yyparse();
fclose(yyin);
}

最佳答案

在符合 POSIX-2008 的系统(和 Linux)上,您可以使用 fmemopen获取内存缓冲区的 FILE* 句柄。

关于c - 如何在不创建临时文件的情况下从 char * 创建 FILE*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15391496/

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