2013-03-22 101 views
2

你好我在這個程序,它是wcout不是`STD」的成員的錯誤。我也使用iostream,因爲你看到,但沒有工作。我有Dev-C++ 4.9.9.2和我的操作系統是XP SP3 我需要你的幫助。 感謝您的空閒時間。C++提供了一個錯誤

#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; 
} 
+1

您是否嘗試過[DEV-C++使用MinGW]的最新版本(http://sourceforge.net/projects/orwelldevcpp/files/Portable%20Releases/)? ? – greatwolf 2013-03-23 00:07:13

+0

我現在同樣的問題,試圖:( – thomas123 2013-03-23 00:20:02

+0

你嘗試新的人之前先卸載舊版本我只是測試它,它爲我編譯罰款[輸出C++打錯一個字母(HTTP的 – greatwolf 2013-03-23 00:39:31

回答

1

您正在使用的Dev-C++ 4.9.9.2附帶MinGW-gcc 3.4.2,它是7+ years old,可能沒有像sftrabbit建議的那樣正確支持寬字符。

如果您在sourceforge上查看原始Dev-C++的頂部,您會發現它已被Orwell Dev-C++取代。如果您需要寬字符支持,我會建議使用它,因爲它包含了MinGW-gcc的更新版本。

4

如果您使用MinGW,wide characters are not yet supported進行編譯。如果您真的需要它,另一種方法是使用STLPort庫作爲libstdC++的替代品。

+2

搞怪,無論'wcout'和'wstring'已經工作了,只要我可以用我的MinGW記得。 – chris 2013-03-23 00:03:43

+0

@克里斯也許最近已經並且提問者正在使用舊版本?該頁面尚未更新。 – 2013-03-23 00:05:29

+0

可能。我注意到MinGW站點的某些部分在過去未被維護。 – chris 2013-03-23 00:33:07