次はもちろんの番組名以外の1つのコマンドライン引数を受け入れ、単純なコードであり、そしてそれは1から32コマンドライン引数arg "^" output "more?"
- の間の整数であるかどうかを確認するためにチェックが求めCMDます。cd c:\ somefolder
- CMDプロンプト:C:\ somefolder>のgcc -o myCodeがmycode.c
- CMDプロンプト:C:\ somefolder> myCode 5
- CMDプロンプト:C:\ somefolder>あなたの引数が受理されました。
- cmdプロンプト:c:\ somefolder> myCode^
- cmd prompt:もっとですか?
次に、別の入力を待ちます。手紙を確認したように、どうすればこのことを確認できますか?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
if (argc == 1)
{
printf("\nPlease enter a cmd-line arg between 1 and 32.\n");
return 0;
}
if (argc == 2)
{
int x;
char *ptr;
long y = strtol(argv[1], &ptr , 10);
int l = strlen(argv[1]);
for (x = 0; x <= (l - 1); x++)
{
if (argv[1][x] >= 'a' && argv[1][x] <= 'z')
{
printf("\nYou can't enter letters.\n");
return 0;
}
else if (argv[1][x] >= 'A' && argv[1][x] <= 'Z')
{
printf("\nYou can't enter letters.\n");
return 0;
}
else
{
//printf("\nCeaser shift accepted.\n");
}
}
if (y <= 0 || y > 32)
{
printf("\nCeaser shift must be between 1 and 32.\n", y);
return 0;
}
}
if (argc > 2)
{
printf("You entered too many arg.");
return 0;
}
printf("\nYour arg is accepted.\n");
return 0;
}
注意/シフト。 –
文字クラスをチェックするには、 'isalpha()'、 'islower()'、 'isupper()'、 'isdigit()'のような ''ヘッダとマクロ/関数を使うべきです。 –
@Jonathanはい、私はこれを使ってシーザー暗号を使ってメッセージを暗号化しています。私はにもお礼を見ていきます。 –