2015-08-31 13 views
-5

實施的ProcessRequest,並希望將數據複製到緩衝區中返回給調用者如何將文件名的路徑傳遞給使用c語言的void *緩衝區?

函數簽名是他以下幾點:
int ProcessRequest(HCST hCST, void *buffer, short tag, short status)

的文件的路徑名存儲在char src [40];

+4

如果在調用ProcessRequest時使用src',它應該可以工作。我不明白你面臨什麼問題。 –

+0

src包含文件路徑。我想複製void *緩衝區。我該怎麼做。請幫忙。@ R Sahu – sandy

+0

你想把'src'傳入函數嗎?或者你正在實現'ProcessRequest'並且想要將'src'複製到'buffer'中,以便函數的調用者可以訪問該值?你的問題真的不清楚。 – kaylum

回答

0

你需要這樣的:

int ProcessRequest(int hCST, void *buffer, short tag, short status) 
{ 
    // stub function 
    static char test[] = "Test"; 
    strcpy(buffer, test); 
    return 0; 
} 

... 
char src [40]; 
... 
ProcessRequest(myhCST, src, mytag, mystatus); 
/* now src contains "Test" */ 

這段代碼是非常簡單和不安全的,因爲ProcessRequest不知道buffer大小,因此可能會覆蓋過去的buffer結束。

+0

從OP的原始問題(因此我猜測所有的降價)中,這是非常不清楚的。但是註釋軌跡顯示OP實際上實現了'ProcessRequest'並且想要將數據複製到'buffer'中以返回給調用者。 – kaylum

+0

@AlanAu行,明白了。答案已更正。 –

相關問題