我剛剛開始使用C++,並具有一些C#的使用經驗,所以我總體上具有一些編程經驗。但是,似乎馬上就被我擊落了。我試圖在谷歌上看,以免浪費任何人的時間無濟於事。C++字符串!=字符串
int main(int argc, char *argv[])
{
HANDLE hConsole;
int k = 5;
string h;
string password = "pass";
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, k);
SetConsoleTextAttribute(GetStdHandle(STD_INPUT_HANDLE), 0x5B);
while (h != password)
{
printf("This PC is locked\nEnter the password to gain access\n");
scanf("%s", &h);
}
printf("\n");
system("PAUSE");
return EXIT_SUCCESS;
}
每當我跑這將讓我輸入密碼,當我點擊進入會承認,然後死機要求我調試或將信息發送給微軟。這在我添加while循環檢查兩個字符串時開始。我是否正確執行了這個或者我錯過了什麼?
以防萬一不清楚。我想讓程序比較一個字符串和一個輸入,如果它們都相同,程序將結束。
感謝您的期待。
不要使用'scanf'對於C字符串,尤其不適合'的std :: string'。使用'std :: cin'(如果需要,結合'std :: getline')。 – chris
感謝您的反饋。 – Marshal