我測試了這個,但它不起作用。外國人物迷路了。在c中發送外部字符
char message [] = "stringtobesendedwithforeigncharacters도쿄";
t = 39;
while(curler < t) {
r = send(sockfd, message, t, 0);
if(r > 0) {
curler += r;
}
}
最簡單的方法是什麼?
我測試了這個,但它不起作用。外國人物迷路了。在c中發送外部字符
char message [] = "stringtobesendedwithforeigncharacters도쿄";
t = 39;
while(curler < t) {
r = send(sockfd, message, t, 0);
if(r > 0) {
curler += r;
}
}
最簡單的方法是什麼?
您在message
聲明中存在拼寫錯誤,並且您指定了不正確的大小爲t
,正如其他人已經指出的那樣。
這篇文章也許會幫助你:Unicode in C and C++: What You Can Do About It Today
這不會解決我現在的問題,但我可以學習如何做到這一點與文件...謝謝。 – 2012-02-05 11:35:36
嘗試
char message[] = "stringtobesendedwithforeigncharacters도쿄";
t = sizeof(message)-1;
對於初學者。
使用的wchar_t而不是char和功能,對於這種類型的。
'char message =「....」'不會編譯,因爲它試圖將一個'const char *'賦值給'char'。這是實際的代碼? – hmjd 2012-02-05 11:05:55
它不起作用,因爲39是字符數,而不是消息中的字節數。並且消息應該是'char *',但我認爲這是一個錯字... – Eregrith 2012-02-05 11:06:11
@hmjd如果它是'const char *''像'char * p =「Hello」這樣的聲明;'將是無效的。字符串文字的類型是'char'的數組N,字符串的值的類型是'char *'而不是'const char *'。 – ouah 2012-02-05 11:21:38