C fopen filename参数作为动态变量

时间:2016-11-29 00:31:56

标签: c ftp

我希望将函数fopen的filename参数作为动态变量,为我的ftp服务器接收ftp客户端输入。我在这个论坛和谷歌上尝试了很多不同的方法,但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(“/ pub / test.txt”,“r”),它可以工作,因为它与空格或引号或类型的东西有关。

但是,如果我尝试在客户端命令行上使用 retr /pub/test.txt 甚至 retr“/pub/test.txt” fopen不起作用,不会打开文件。

长期坚持这一点,任何帮助都表示赞赏。

由于

1 个答案:

答案 0 :(得分:1)

我找到了答案。

感谢@ user3386109提示。

我基本上必须清除所有空格,输入的新行

strtok(client->input+5,"\r\n\t");