在我以前的C++項目中,我使用gets()命令。我已經完成了我的研究,發現它不再可靠,我的項目也不會運行。我在這裏使用這一位代碼: Load(gets(new char [50]));C++獲取標識符未找到
我現在怎麼會得到這行代碼正常工作?如果你能提供解釋。
在我以前的C++項目中,我使用gets()命令。我已經完成了我的研究,發現它不再可靠,我的項目也不會運行。我在這裏使用這一位代碼: Load(gets(new char [50]));C++獲取標識符未找到
我現在怎麼會得到這行代碼正常工作?如果你能提供解釋。
這裏有一個簡單的解決方案:
std::string text;
std::cout << "Enter some text to load: ";
std::getline(cin, text);
Load(text.c_str());
如果必須使用字符數組,這裏的一個代碼片段:
const size_t ARRAY_CAPACITY = 64U;
char text[ARRAY_CAPACITY];
std::cout << "Enter some text to load: ";
cin.getline(&text[0], ARRAY_CAPACITY);
Load(text);
我得到一個文本錯誤,指出「類型爲」const char ^「的參數與類型的邊界不兼容」 char ^「 – SirRyan98
對於哪一行,在哪個例子中?BTW,你從來沒有發佈'Load'聲明。 –
總是發佈錯誤消息。在C++中沒有周邊,只有封閉的形狀。:-) –
使用'的std :: string'和'的std :: getline'。 –
也考慮使用臨時變量。 –
@ThomasMatthews getline不適用於「新字符」 – SirRyan98