这将不起作用
q - quit the program immediately.
r <int> - //does something
i <int1> <int2> - //does something
d <int1> <ind2> - //does something
t <int1> <int2> - //does something
l - // does something
f <filename> - // does something
基本上用户会输入
'q',它将退出函数。
或者输入'r' '1' '3',它应该做点什么。
我以前使用过sscanf,但那只是因为我知道int会出现在字符选择之后。
最后一个
如果用户必须输入'f'然后文件名,它应该打开文件。
如何使用sscanf将这部分放入方程中?目前我的代码是这样的。
printf("Please enter a choice ");
sscanf(sentence," %c %d %d", &choice, &val1, &val2)
但是如果用户输入'f' "filenamehere.exe"
你要做的是把你的阅读分成两个步骤…首先获得用户想要的模式,然后根据该模式采取行动…
char mode;
printf( "Please enter a choice " );
if( scanf( "%c", &mode ) < 1 )
{
printf( "Could not read inputn" );
exit( -1 );
}
switch( mode )
{
case 'q': exit( 0 );
case 'r':
{
int value;
if( scanf( "%dn", &value ) < 1 )
{
printf( "command 'r' requires you to input an integer valuen" );
exit( -1 );
}
// do something with value
break;
}
// etc...
}