1
我希望函數fopen的文件名參數是一個動態變量,它爲我的ftp服務器提供一個ftp客戶端輸入。我在這個論壇和谷歌上都嘗試了很多不同的方式,但「文件名」仍然不會被fopen識別。C fopen文件名參數作爲動態變量
else if (strncmp(client->input, "retr", 4) == 0) {
char fname[1024];
// COMMAND LINE: retr filePATHNAME thats why +5
strcpy(fname, client->input+5);
if(fopen(fname, "r") != NULL) {
...
如果我把的fopen(「/酒吧/的test.txt」,「R」),它的工作原理,因此有什麼用空格或報價或類型做。
但如果我嘗試用RETR /pub/test.txt甚至RETR「/pub/test.txt」做客戶端的命令行上的fopen不工作,也不會打開該文件。
一直停留在這個時間最長的,任何幫助表示讚賞。
謝謝
請儘量提供[MCVE。 –
我建議你記錄你的服務器試圖打開的文件名。這可能不是你的想法。一定要使用日誌格式,顯示尾隨空白/換行符,因爲這些附加字符的存在是更可能的問題之一。 –
@JohnBollinger我新來C和所有這些東西,所以我不知道如何記錄它。我試過打印fname給出的內容,而且它只是打印我正在輸入的內容。 – pkmangg