我有一个命令行程序,它有一个多选菜单。我可以通过program.exe < input.txt
传递参数但是我在发送'Enter'命令时遇到问题(如果我尝试发送任何其他内容,程序会崩溃;例如''字符)。
我输入'All'作为Proc名称。然后再次输出'enter proc name',我必须按Enter键才能继续执行代码。我无法解决的是如何将此Enter发送到该程序。我在input.txt中尝试了一条黑线但是没有用。
while( !end )
{
for( legal=0; !legal; )
{
printf("\tEnter Proc Name: ");
if( fgets( str, 70, stdin ) == NULL )
{
printf("Bye.\n");
exit(0);
}
ret = sscanf(str, "%s", p.name );
if( ret > 0 || str[0] == '\n' ) legal = 1;
else printf("Please enter a legal proc name, none, or all\n");
}
if( str[0] == '\n' ) {
end = 1;
} else if( !strcmp( p.name, "all" )) {
for( i=0; i < Conf_num_procs( &Cn ); i++ )
Status_vector[i] = 1;
} else if( !strcmp( p.name, "none" )) {
for( i=0; i < Conf_num_procs( &Cn ); i++ )
Status_vector[i] = 0;
} else {
proc_index = Conf_proc_by_name( p.name, &p );
if( proc_index != -1 ) {
Status_vector[proc_index] = 1;
} else printf("Please! enter a legal proc name, none, or all\n");
}
}