用户输入文件目录有空格?

时间:2014-04-10 10:30:43

标签: c++

我有一个简单的代码,要求用户输入一个文件夹,供程序使用。

    char MasterDirectory [50];
cout << "Please enter the directory containing the MP3 files you wish to have organised. " << endl;
cin >> MasterDirectory;

GetFileListing(MasterDirectory, "*.mp3");

但是,如果输入目录包含空格,则程序无法正常运行。 对于菜鸟问题​​很抱歉,但是如何附上&#34; MasterDirectory&#34;的变量?用于GetFileListing的引号?

3 个答案:

答案 0 :(得分:0)

您必须使用cin.getline(MasterDirectory,50);

答案 1 :(得分:0)

更好地使用

cin.getline(MasterDirectory, sizeof(MasterDirectory));

答案 2 :(得分:0)

你必须使用std :: getline来读取带有空格的整行;

  

我可以附上&#34; MasterDirectory&#34;的变量吗?用引号?

只需将它们添加到您阅读的内容中(我建议使用std :: string以获得灵活性):

std::string fileName;
std::cout << "Please enter the directory containing the 
              MP3 files you wish to have organised. " << endl;
std::getline( std::cin, fileName);
GetFileListing( "\"" + fileName + "\"", "*.mp3");

http://ideone.com/Lmi149