gpt4 book ai didi

c - 在 lex 中只接受来自键盘的一个输入

转载 作者:太空宇宙 更新时间:2023-11-04 03:56:13 25 4
gpt4 key购买 nike

程序首先要求用户输入一个字符串。然后它调用 yylex() 函数并显示字符串是否被接受。在匹配第一个输入后,我想停止接受来自输入的更多字符串。下面的代码首先要求用户输入一个字符串,然后打印它是否被接受。但这个过程一直持续到我按下 CTRL+D。我只想接受来自字符串的一个输入,匹配它然后停止。我的代码有什么问题?谢谢

%%
^[a-z][A-Z][a-z]{1,8}$ {printf("Username Accepted");}
.* printf("Invalid Username");
%%

int main()
{
printf("Enter Username: ");
yylex();
printf("\ndone");
}

最佳答案

我们自己读入字符串,然后调用yy_scan_string,然后调用yylex:

char myString[100];
fgets (myString, sizeof(myString), stdin);
yy_scan_string(myString);
yylex ();

关于c - 在 lex 中只接受来自键盘的一个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16244933/

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