2009-12-20 50 views
6

我在寫一些返回整數的代碼,然後需要使用printw從ncurses庫中輸出。但是,由於printw只能使用char *,所以我無法弄清楚如何輸出它。在C++中將整數存儲到char *中

本質上,有沒有辦法將一個整數存儲到char數組中,或者使用printw輸出一個整數?

回答

9

printw()接受const char *作爲格式說明符。你想要的是

printw("%d",yournumber); 
+1

+1正確的答案 – dfa 2009-12-20 20:35:29

+0

出於好奇,究竟是什麼「%d」? – Galileo 2009-12-20 20:47:39

+2

您可能需要查看printf手冊頁 - http://linux.die.net/man/3/printf以瞭解格式化的全部功能。特別是%d表示有符號整數作爲此處格式化字符串之後的第一個參數。但是,這甚至不是冰山的最高點;-) – 2009-12-20 21:03:15

0

使用itoa()或sprintf()將整數轉換爲ascii字符串。

例子:

char s[50]; 
sprintf(s, "%d", someInteger); 

現在ü可以通過S作爲字符*

+4

對不起,我的回答是廢話。使用邁克爾的。 我只是不確定printw是什麼ncurses,所以我寫了一個解決方法。 – 2009-12-20 20:37:59

+1

您可以刪除答案。幾個「壞」點:'itoa' - 標準C中沒有這種東西(只有'atoi'),最好使用'snprintf(s,sizeof(s),「%d」,someInteger) - 更安全。 – Artyom 2009-12-20 21:19:41

相關問題