gpt4 book ai didi

c - toupper() 不工作

转载 作者:行者123 更新时间:2023-11-30 20:19:34 24 4
gpt4 key购买 nike

这里我检查输入数组 (inputText[]) 中的每个字符是否至少与 LETTERS 数组中的一个字母匹配。但 toupper() 函数对我不起作用。我正在 Linux mint 上工作并使用 gcc 进行编译。

do
{
scanf(" %[^\n]s" , inputText );
printf("Input text supplied is: %s\n", inputText);
int input_text_size = strlen(inputText) - 1;

for(int i = 0; i <= input_text_size; i++)
{
toupper(inputText[i]);//NOT WORKING
printf("toupper val = %c\n", inputText[i]);//TESTING
//testing every char against every element in LETTERS array
for(int j = 0; j <= 26; j++)
{
if(inputText[i] == LETTERS[j])
flag--;
}
}

if(flag != 0)
{
printf("Invalid input\n");
printf("only letters and spaces can be entered\n");
flag = input_text_size;
}

}while(flag == 0);

最佳答案

更仔细地查看 int toupper(int c) 的手册页。函数原型(prototype)表明它返回大写字符。换句话说,它不适用于就地数据。相反,正如函数通常所做的那样,它返回数据的转换。

 for(i=0;i!=length;i++){
string[i] = toupper(string[i]);
}

关于c - toupper() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49708282/

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