私がやっているのは、ホスト名とユーザー名を取り込むことです。ホスト名は 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;
}