2013-02-01 77 views
0

字符串我試圖讓文件的位置,讓我們說:d \ stuff.tif在我的程序中的字符串,如:獲取文件的位置,如C++

filename = 'D:\stuff.tif' 

我需要它在這裏,我一直在嘗試的形式:

char text[50];// = "filename = "; 
    char filep [50]; 
    printf("get file name ") ; 
    scanf("%s",&filep); 
    sprintf(text," filename = \' %s \'",filep); 

它不工作任何想法? ? 在此先感謝您的幫助!

+0

應該是'文件名=「d:\\ stuff.tif'';你想從控制檯閱讀這個嗎?什麼不行?你得到了什麼? –

回答

0

scanf應採取char *作爲參數;你通過filep的地址給它一個char (*)[50]。嘗試:

char text[50];// = "filename = "; 
    char filep [50]; 
    printf("get file name ") ; 
    scanf("%s",filep); // <- removed address-of here 
    sprintf(text," filename = \' %s \'",filep); 
0

試試這個

char text[255];// = "filename = "; 
char filep [50]; 
printf("get file name ") ; 
scanf("%s",filep); 
sprintf(text," filename = \'%s\'",filep); 
1

你知道你寫的是C而不是C++嗎?在C++中,你會做這樣的事情:

#include <iostream> 
#include <string> 

int main() 
{ 
    std::string text, filep; 
    std::cout << "get file name "; 
    std::cin >> filep; 
    text = " filename = '" + filep + "'"; 
}