我正在做我的第一個並行應用程序,但我堅持使用C的基本知識。我需要知道,如何將int轉換爲char,然後如何將一個字符追加到另一個。C - 將int轉換爲char並將char追加到char
它可以幫助我,我會很高興。謝謝。
我正在做我的第一個並行應用程序,但我堅持使用C的基本知識。我需要知道,如何將int轉換爲char,然後如何將一個字符追加到另一個。C - 將int轉換爲char並將char追加到char
它可以幫助我,我會很高興。謝謝。
您可以使用itoa函數將整數轉換爲字符串。
可以使用strcat函數在另一個字符串末尾的字符串中追加字符。
如果你想一個整數轉換爲字符,只是做如下 -
int a = 65;
char c = (char) a;
注意,由於字符的尺寸小於整數較小,這鑄造可能會導致數據丟失。在這種情況下,最好將字符變量聲明爲unsigned
(儘管您可能仍會丟失數據)。
要做一個關於類型轉換的燈讀,去here。
如果仍有問題,請對此答案發表評論。
編輯
轉到here用於接合字符的更合適的例子。
另外一些有用的鏈接下面給出 -
第二個編輯
char msg[200];
int msgLength;
char rankString[200];
........... // Your message has arrived
msgLength = strlen(msg);
itoa(rank, rankString, 10); // I have assumed rank is the integer variable containing the rank id
strncat(msg, rankString, (200 - msgLength)); // msg now contains previous msg + id
// You may loose some portion of id if message length + id string length is greater than 200
第三編輯
轉到此link。在這裏你會找到一個itoa
的實現。改爲使用它。
int myInt = 65;
char myChar = (char)myInt; // myChar should now be the letter A
char[20] myString = {0}; // make an empty string.
myString[0] = myChar;
myString[1] = myChar; // Now myString is "AA"
這應該都可以在C書的任何介紹中找到,或者通過一些基本的在線搜索。
鑄造的int炭簡單地用括號與類型分配完成:
int i = 65535;
char c = (char)i;
注:我認爲你可能會丟失數據(如上例),因爲類型的大小是不同的。
將字符添加到字符不能完成(除非你的意思是算術,那麼它是簡單的操作符)。你需要使用字符串,字符數組和<string.h>
函數,如strcat
或sprintf
。
鑄造int
到char
涉及丟失數據,編譯器可能會警告您。
提取特定字節從int
聽起來比較合理,可以這樣做:
number & 0x000000ff; /* first byte */
(number & 0x0000ff00) >> 8; /* second byte */
(number & 0x00ff0000) >> 16; /* third byte */
(number & 0xff000000) >> 24; /* fourth byte */
我沒有看到任何「並行編程」這件事。請解釋? – abelenky 2011-02-15 19:20:37
我的應用程序是第一次在並行編程課程,因此沒有標籤並行編程,只是有一些問題,以鑄造字符附加字符 – Waypoint 2011-02-15 20:32:51