2012-10-03 15 views
2
int main(int argc, char *argv[]) 
{ 
printf("Temp is"); 

msgrcv(externalQid, &incomingMsg, sizeof(incomingMsg)-sizeof(long), 0, 0); 
} 

printf在這種情況下從未實際打印過......但是,很難調試我的程序。有任何想法嗎?如果我以後在程序中有msgrcv調用,printf不會打印

+0

誰是'temp'?你在哪裏聲明變量? –

回答

2

嘗試在你的printf結尾放置一個換行符。我對「爲什麼」並不熟悉,但它解決了我前一段時間的類似問題。

+0

完美!我很想知道爲什麼這樣工作 – James

+1

@James這可能是因爲你的printf實現發生在換行沖洗 – lccarrasco

+2

根據我的理解(所以不要把它當成是事實),當調用printf的時候會寫入一個緩衝區。當緩衝區已滿或輸入某些字符時,該緩衝區將被打印到屏幕上。這樣只有在重要時才能通過打印順暢地流動終端。 – AdamSpurgin

相關問題