さて、C言語の基礎を写経したので、ここから少しずつC言語を使って緩くOSを学んでいきたい
まずmac, windowsにもあるログイン処理から
■要求定義
– ユーザ名に一致したパスワードを入力し、一致していたらログイン
– 不一致の場合は、パスワードを再入力してくださいと表示
#include <stdio.h>
#define User "hpscript"
#define Password "asdf"
int main(){
char s[5];
while(1){
printf("%sさん、パスワードを入力してください。\n", User);
gets(s);
if(strcmp(s, Password)==0){
printf("ログイン成功しました。\n");
break;
} else {
printf("%sさん、パスワードを入力してください。\n", s);
}
}
return 0;
}
$ ./dev
hpscriptさん、パスワードを入力してください。
aaaa
aaaaさん、パスワードを入力してください。
hpscriptさん、パスワードを入力してください。
asdf
ログイン成功しました。
文字列の比較は、strcmpを使用する
if(s == Password){} としても、trueにならない。
while(1)で無限ループにして、一致した場合はbreakでループから抜ける。
なるほど、型の宣言するところとか、色々頭使うなー