2012-02-05 56 views
0

我測試了這個,但它不起作用。外國人物迷路了。在c中發送外部字符

char message [] = "stringtobesendedwithforeigncharacters도쿄"; 

t = 39; 

while(curler < t) { 
    r = send(sockfd, message, t, 0); 
    if(r > 0) { 
     curler += r; 
    } 
} 

最簡單的方法是什麼?

+1

'char message =「....」'不會編譯,因爲它試圖將一個'const char *'賦值給'char'。這是實際的代碼? – hmjd 2012-02-05 11:05:55

+1

它不起作用,因爲39是字符數,而不是消息中的字節數。並且消息應該是'char *',但我認爲這是一個錯字... – Eregrith 2012-02-05 11:06:11

+0

@hmjd如果它是'const char *''像'char * p =「Hello」這樣的聲明;'將是無效的。字符串文字的類型是'char'的數組N,字符串的值的類型是'char *'而不是'const char *'。 – ouah 2012-02-05 11:21:38

回答

2

您在message聲明中存在拼寫錯誤,並且您指定了不正確的大小爲t,正如其他人已經指出的那樣。

這篇文章也許會幫助你:Unicode in C and C++: What You Can Do About It Today

+0

這不會解決我現在的問題,但我可以學習如何做到這一點與文件...謝謝。 – 2012-02-05 11:35:36

2

嘗試

char message[] = "stringtobesendedwithforeigncharacters도쿄"; 
t = sizeof(message)-1; 

對於初學者。

0

使用的wchar_t而不是char和功能,對於這種類型的。