我得到了如下代碼:的fputs和printf問題
char* writeSpace(int i)
{
fputs(" " + (30-i), stdout);
}
printf("#%i key: %s%svalue: %s%s value2: %s", id, key, writeSpace(10), value, writeSpace(8), value2);
我的輸出應該是這個樣子:
#1 key: foo value: bar value2: foobar
,但事實並非如此。它看起來像:
#1 key: foo(null)value: bar(null)value2: foobar(null)
我的代碼有什麼問題?
你爲什麼要使用這些舊的遺留功能?您可以訪問C++標準庫:使用它。 –
這看起來應該用'C'(而不是'C++')標記。 – Johnsyweb
請解釋一下你想做什麼:讓writeSpace(i)創建並返回一串i *空白字符串,或者你想要一個副作用,以便writeSpace(i)將這樣的字符串寫入一個流?甚至是兩者? – Nico