所以基本上当我尝试这样做时
char* inputFileName;
cout<< "Filename: "; cin>>*inputFileName;
它让我输入文件名,但当我按下回车键时,我得到一个未处理的异常错误。有任何想法吗?
如果我尝试也可以编辑
char* inputFileName;
cout<< "Filename: "; cin>>inputFileName;
当我尝试运行它时,我收到调试断言失败。
最佳答案
您需要传入指针,而不是取消引用的指针,并且已为 char * 分配内存
#include <iomanip>
#include <iostream>
using namespace std;
int main(){
const size_t BUFFER_SIZE = 1024;
char inputFileName[BUFFER_SIZE];
cout << "Filename: ";
cin >> setw(BUFFER_SIZE) >> inputFileName;
cout << inputFileName << endl;
}
除了 char inputFileName[BUFFER_SIZE];
之外的另一个选项是
char *inputFileName = new char[BUFFER_SIZE];
以后
delete [] inputFileName;
关于c++ - 如何用 cin 分配一个 char 指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16329074/