所以基本上当我尝试这样做时
char* inputFileName;
cout<< "Filename: "; cin>>*inputFileName;
Run Code Online (Sandbox Code Playgroud)
它让我输入文件名但是当我按下回车时我得到一个未处理的异常错误.有任何想法吗?
如果我尝试也编辑
char* inputFileName;
cout<< "Filename: "; cin>>inputFileName;
Run Code Online (Sandbox Code Playgroud)
当我尝试运行它时,我得到一个调试断言失败.
您需要传入指针,而不是解除引用的指针,并为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;
}
Run Code Online (Sandbox Code Playgroud)
另外一个选择char inputFileName[BUFFER_SIZE];是
char *inputFileName = new char[BUFFER_SIZE];
Run Code Online (Sandbox Code Playgroud)
然后
delete [] inputFileName;
Run Code Online (Sandbox Code Playgroud)