Menu 切换大小写菜单和nsstring大写
基本上这是一个开关盒菜单程序。我把enterastring函数放在菜单部分之前,以保持它的有序性。我目前的主要问题是案例4。我要做的是创建一个函数,将整个字符串转换为大写。但我似乎找不到将其应用于输入字符串的方法。它只在我定义一个预先确定的字符串时起作用Menu 切换大小写菜单和nsstring大写,menu,nsstring,switch-statement,uppercase,Menu,Nsstring,Switch Statement,Uppercase,基本上这是一个开关盒菜单程序。我把enterastring函数放在菜单部分之前,以保持它的有序性。我目前的主要问题是案例4。我要做的是创建一个函数,将整个字符串转换为大写。但我似乎找不到将其应用于输入字符串的方法。它只在我定义一个预先确定的字符串时起作用 const int CSTR_MAX = 33; void readCString(char cs[]) { printf("Enter a character string up to %i characters: ",
const int CSTR_MAX = 33;
void readCString(char cs[])
{
printf("Enter a character string up to %i characters: ", CSTR_MAX-1);
scanf("%s", cs);
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
char cstr[CSTR_MAX];
int choices;
BOOL done=FALSE;
NSString *obj;
NSString *uppercase = (Imnotsurewhatneedstogohere);
NSString *lowercase;
readCString(cstr);
do {
//Print the menu and prompt the use for the selection
printf("\nMenu Choices\n");
printf("------------\n");
printf("1) Enter a new string\n");
printf("4) Change all letters to Upper Case\n");
printf("5) Change all letters to lower case\n");
printf("8) Quit");
printf("\nEnter your choices: ");
scanf("%i", &choices);
switch(choices)
{
case 1:
//Enter a new String
readCString(cstr);
break;
case 4:
//Change all letters to Upper Case
obj = [uppercase uppercaseString];
NSLog(@"Uppercase conversion: %s", [uppercase UTF8String]);
break;
case 5:
//Change all letters to lower case
obj = [lowercase lowercaseString];
NSLog (@"Lowercase conversion: %@", obj);
break;
case 8:
//Quit
break;
default: printf("You entered an invalid choice\n");
done = TRUE;
}
} while (!done);
}
return 0;
}
我认为您遇到此问题的原因在于您正在登录[uppercase UTF8String],而您从未将其设置为新的大写值。你应该使用NSLog@Uppercase转换:%s,[obj UTF8String];因为obj设置为大写转换,或者重命名变量 所以案例4应该是这样的:
case 4:
//Change all letters to Upper Case
obj = [uppercase uppercaseString];
NSLog(@"Uppercase conversion: %s", [obj UTF8String]);
break;
你能把它分解成相关的代码并清楚地说明什么是不起作用的吗;whilecstr[计数器]!=“”{ifcstr[counter]>96 cstr[counter]=cstr[counter]-32;counter++;}printf%s\n,cstr;好的,我正在尝试将大写值设置为输入的字符串。这样,当输入字符串并选择该选项时,整个字符串都将大写。但我不确定实现这一目标的价值是什么。啊,这很有帮助。你认为我应该把NSString*uppercase=设置成什么吗?这完全取决于你。如果您愿意,您可以将obj替换为uppercase@shockwav3如果我的回答对你有帮助,请接受:谢谢,我会的,我只是想弄清楚最后一部分。我的问题更多的是NSString*大写=部分。通常在=之后有一个用@example string定义的字符串,这将改变它的大小写。所以它将是示例字符串。但我希望它等于输入的文本,这样每次我键入的任何文本都可以用不同的选项修改。