gpt4 book ai didi

c - isdigit() 问题; - scanf 验证器

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

我需要查看一个字符串,在 C 语言中,是否只有字母或是否有任何数字。

我的代码:

char Name[50];
int flag = 0;
int charString = 0;

printf("Please insert your name\n");
scanf("%[^ A-Z\n]",Name);

while (Name[charString]){
flag = isdigit(Name[charString]);

while(flag){
getchar();
printf("ERROR! Please insert only letters");
scanf("%[^ A-Z\n]",I.Nome);
}
charString++;
}

最佳答案

如果您不希望用户用户输入数字,请禁用数字输入。这将忽略除字母或空格之外的所有键,甚至不显示它们。

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
void main()
{
char name[50];
char key=0;
int i=0;
while(1)
{
key=getch(); //get input from keyboard
if(!key)
getch(); //if pressed key is a extended ASCII key ignore it

if(isalpha(key)||key==32)
putch(name[i++]=key); //if pressed key is a-z or A-Z or space, display it and add to name.
else if( key==8 && i>=0) //if backspace is pressed erase a character before it
{
printf("%c%c%c",8,32,8);
i--;
}
else if(key==13) //if enter key is pressed end the loop
break;
}
name[i]='\0';//end of the string
}

关于c - isdigit() 问题; - scanf 验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28025829/

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