使用switch语句时怎么去以字符串为常量进行选择?

我自己写了一个程序,编译的时候通不过string Order;
cout<<"Please enter command :"<<endl;
while(cin>>Order&&Order != “eof”)
{
switch(Order)
{
case “create”:
CreatFile();break;
case “read”:
ReadFile();break;
default :
cout<<"No this operation!"<<endl;
}
cout<<"Please enter command :"<<endl;
}各位高手请多指点。

第1个回答  2013-08-21
switch里只能用int char型的数据
用字符串当然不行了
而且 string 也不支持==操作
没有这个操作符重载
用if else吧
第2个回答  2013-08-21
字符串的比较 要用 strcmp()(string.h)函数来进行,你上面的做法你不行的

switch(表达式)中表达式的值可以是字符型和整型,那如果是字符型时怎么...
C语言中,字符常量的字面值是整型,表达式运算时,字符型也会自动提升为整型。这也就是说,在switch或case中写的表达式,其值是整型:switch('a'){ case 97:...或者case 'a':...都是一样的 }

c语言高手进使用switch case语句 但我输入的值范围很多 那常量表达式...
如果范围很有规律的话,用switch比if else好的。

C语言的switch case 语句的case 常量 能匹配字符串常量吗?
不可以匹配字符串长量的.最大可以匹配一个int型的变量或常量.switch 里面一般是填变量名.大概是这样 int a;switch(a){ case 1: break;case 2:break;default: break;}

C语言的switch case 语句的case 常量 能匹配字符串常量吗?
default语句可以出现在任何位置,但建议写到最后,表示除去case匹配之外的其它情况。也可以没有default语句

swich语句常量字符串
case 语句内不能声明变量 你应该提前在switch语句之前把变量声明好。

您好。。请问C语言中。switch怎么使用char 比较
你使用下面的代码吧。 switch (整数), 所以你写是字符串就会报错。你可以使用 enum, 把字符串对应到数字。include <stdio.h>enum state{cn, en, jp};int main(){enum state name = (enum state)"cn";char *label = "中国";switch(name){ case 0:label = "中国";break;case 1:label ...

switch用法
先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选择结构,执行switch选择结构之后的代码。如果任何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。

求教c语言中switch语句的详细用法
但需要注意的是字符串比较并不是简单的指针比较而是内容的逐个字符比较。2. case的匹配原则:switch语句中每一个case会与其后的常量进行比较。当表达式的值与某个case常量匹配时,程序会执行该case后的代码块。因此,不同的case语句中常量的值必须互不相同,以确保正确匹配。3. default的使用:default是...

switch语句里case后面能不能跟字符常量?
可以跟常量字符的。但是不能跟字符串,C#和Java就可以跟字符串了。

c语言switch的用法
c语言switch的用法就是根据表达式的值,选择执行相应的语句序列。C语言中,switch语句是一种常用的流程控制语句。它的作用是根据一个表达式的值,判断其是否等于一系列常量值中的任意一个,并执行相应的代码块。其中,expression表示要被测试的表达式,可以是任何整数类型(char、short、int、long)或枚举类型...

相似回答