在這種方法中,如何將ifstream或字符串輸入轉換爲char?
void mainRoutine(char *pattern, string searchPattern)
{
cout << "Please enter the string pattern to be searched: " << endl;
getline(cin, searchPattern);
ifstream filename(searchPattern.c_str());
while(filename.good() && filename.peek() != EOF)
{
cout << (char)filename.get();
}
cout << "\n";
char *pattern = (char *)filename;
}
當用戶輸入一個字符串 - 文件名應採取的,我想這個字符串轉換成字符,所以我可以在其他的方法來使用它。我怎樣才能做到這一點?
而不是「轉換這個字符串變成一個字符」,你或許意味着它轉換成字符指針? –
從'std :: string'製作'char *'很簡單 - 在字符串上調用'c_str()'方法。 – dasblinkenlight
你的代碼甚至不應該在可尊重的編譯器上編譯。最後一行:char * pattern =(char *)filename;無效。然而,你可以用一個本地只讀字符指針來獲取字符串:const char * pName = filename.c_str();請注意,指針只在當前函數的範圍內有效。 – glampert