2017-04-19 50 views
-1

我想验证我输入的字段并显示错误。 这是我的C代码:验证C编程中的输入字段

struct student 
{ 
    char name[15]; 
    char age[3]; 
}; 

struct student st; 


printf("enter your name: "); 
scanf("%s", st.name); 
fprintf(ptrShkrues, "%5s", st.name); 

printf("enter your age: "); 
scanf("%s", st.age); 
fprintf(ptrShkrues, "%5s", st.age); 

所以我需要检查,如果它是一个char或int和显示一个printf。在INT保存我的年龄更好?以及如何验证它?

+0

C++的标记是C++的问题,这本不是。 –

+2

发布'st'的定义。 – chux

+0

为什么被标记为[tag:objective-c]? – 11684

回答

0

尝试fgetssscanf

char buffer[1000]; 
char name[6]; 
int age; 
fgets(buffer, sizeof buffer, stdin); /* needs error checking */ 
if (sscanf(buffer, "%5s%d", name, &age) != 2) /* error */; 
0

假设你的名字和年龄都的char []类型,这是你如何检查

int flag=1; 

    for(i=0;i<size&&flag==1;i++){//size is the length of n 
     if(isdigit(name[i])) 
      flag=1; 
     else 
      flag=0; 
    } 
if(flag==1) 
    printf("Is an integer"); 
else 
    printf("It has characters");