验证输入和使用系统()

时间:2013-10-17 01:06:29

标签: c++ validation

我正在做的是引入主机名和用户名,主机名可以是255个字符,不能以数字结尾,只能包含字母,数字和' - '以及'。'。用户名我想只有字符。然后我想使用system()命令输出它们以在终端内运行它并且它将登录。

示例输入:

someserver.com

马特

系统命令将使用finger登录

我需要帮助的问题是为' - '和'。'抛出异常。使用主机名和我的if循环检查用户验证始终无效。如果有人有一个例子我会很感激

#include <iostream>
#include <string>
#include <cctype>
#include <cstdlib>
#include <stdio.h>
#include <ctype.h>

int main()
{


printf("Enter your Host Name; it must be characters and not more than 255");
char hostName[254];
int len2;
fgets(hostName, sizeof(hostName), stdin);
rewind (stdin);
len2 = strlen(hostName);
if(hostName[len2-1] == '\n') hostName[--len2] = '\0';
if(len2 >254 ||!isalpha(hostName[len2-1]))
{
    printf("Invalid Host Name");


}


printf("Enter your User Name; it must be characters and not more than 20");
char userName[19];
int len;
fgets(userName, sizeof(userName), stdin);
rewind (stdin);
len = strlen(userName);
if(userName[len-1] == '\n') userName[--len] = '\0';
if(len >19 || !isalpha(userName[19]))
{

    printf("Invalid User Name");


}

//Use system to output the command 

// printf("/usr/bin/ssh'hostname/usr/bin/finger'username" );

return 0;
}

0 个答案:

没有答案