您好我在这个程序中有一个错误,即wcout不是`std'的成员。我也看到了iostream,但没有用。我有Dev-C ++ 4.9.9.2,我的操作系统是XP SP3 我需要你的帮助。 感谢您的空闲时间。
#include <iostream>
#include <cstring>
#include <cwchar>
using namespace std;
const wchar_t alphabet[] ={'A', 'B', 'C', 'Ç', 'D', 'E', 'F', 'G', 'Ğ', 'H', 'I',
'İ', 'J', 'K', 'L', 'M', 'N', 'O', 'Ö', 'P', 'R', 'S',
'Ş', 'T', 'U', 'Ü', 'V', 'Y', 'Z', '0', '1', '2', '3',
'4', '5', '6', '7', '8', '9', '.', ',', ':', ';', ' '};
const int char_num =44;
void cipher(wchar_t word[], int count, int key)
{
int i = 0;
while(i < count) {
int ind = -1;
while(alphabet[++ind] != word[i]) ;
ind += key;
if(ind >= char_num)
ind -= char_num;
word[i] = alphabet[ind];
++i;
}
}
void decipher(wchar_t word[], int count, int key)
{
int i = 0;
while(i < count) {
int ind = -1;
while(alphabet[++ind] != word[i]) ;
ind -= key;
if(ind < 0)
ind += char_num;
word[i] = alphabet[ind];
++i;
}
}
int main()
{
wchar_t text[] = L"ABJT;";
int len = wcslen(text);
std::wcout << text << std::endl;
cipher(text, len, 2);
std::wcout << text << std::endl;
decipher(text, len, 2);
std::wcout << text << std::endl;
return 0;
}
答案 0 :(得分:4)
如果您正在使用MinGW进行编译,wide characters are not yet supported。如果你真的需要它,另一种方法是使用STLPort库作为libstdc ++的替代。
答案 1 :(得分:1)
如果您在sourceforge查看原始Dev-C++的顶部,您会看到它已被Orwell Dev-C++取代。我建议使用它,如果你需要wide-char支持,因为它打包了一个更新版本的MinGW-gcc。