gpt4 book ai didi

c - 检查 strInput 以通知用户输入对于程序来说太大时出错?

转载 作者:太空宇宙 更新时间:2023-11-04 02:40:05 25 4
gpt4 key购买 nike

我只是想在我的程序中执行一些错误检查。

该程序将 100 个或更少字符的字符串转换为类似于以下 hello->hElLo 的单词。所以每隔一个字母都是大写的。所以我只是想添加一个语句,告诉用户输入太大并要求他们重新输入一个词。这是我所拥有的,但它只输出 To large. 无论输入什么,然后退出程序。

int main(){
/*Read word from the keyboard using scanf*/
char strInput[100];
printf("Input word that is 100 characters or less: \n");

scanf("%s", strInput);
/*Call studly*/
studly(strInput);
/*Print the new word*/
if (strInput > 100){
printf("To large.");
}
else{
printf("%s", strInput);
}


return 0;
}

这只是主要功能,但我认为我唯一需要做的就是更改我的 ifelse 语句。只是不确定如何在 if 语句中检查 char strInput[100] 的大小。也让我知道是否有一种简单的方法来处理空格。感谢您的帮助!

最佳答案

您可以使用 fgetsstrchr 检查字符串是否包含尾随换行符:

#include <stdio.h>
#include <string.h>

int main(void)
{
char strInput[100], *ptr;

printf("Input word that is 100 characters or less: \n");
fgets(strInput, sizeof strInput, stdin);
if ((ptr = strchr(strInput, '\n')) == NULL) {
printf("Too large.\n");
} else {
*ptr = '\0';
printf("%s\n", strInput);
}
return 0;
}

关于c - 检查 strInput 以通知用户输入对于程序来说太大时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32999860/

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