|
|
|
| Здравствуйте. Не могу понять в чём ошибка.
Если сравнить две строки на русском из кода, всё работает. А если одна строка в коде а вторая вводится в консоли, то для английского текста сравнение работает, а для русского нет.
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
{
// русский текст в консоли
setlocale(LC_ALL, "Russian");
cout << "Строка для поиска: ";
char ss[]="привет";
const int MAX = 255;
char d[MAX];
cin.getline(d, MAX);
if(!strcmp(ss,d)) {
cout << "Строки равны" << endl;
} else {
cout << "Строки не равны!" << endl;
} // end if
system("pause");
return 0;
}
|
| |
|
|
|
|
|
|
|
для: Quies
(26.12.2012 в 03:56)
| | Вы кодировку игнорируете.
Код перед компиляцией должен иметь кодировку 866. Это если русский язык используете. Т.к. в виндовой консоли эта кодировочка используется. Тогда можно отказаться от setlocale за ненадобностью. | |
|
|
|