c++ - 如何用 cin 分配一个 char 指针?

标签 c++

所以基本上当我尝试这样做时

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/

相关文章:

c++ - 如何测试两种算法并确定哪种算法更快?

c++ - 是否可以将变量指定为静态分配的整数数组的大小说明符?

c++ - 在 opencv 中使用 imwrite 保存图像写入全黑但 imshow 显示正确

C++奇怪的编译链接器错误

android - android项目中jni和cpp包的区别

c++ - 将 UTF-8 std::string 解码为 std::u32string?

c++ - QuantLib C++ 库 - FixedRateBond 优惠券

c++ - 为匿名身份验证配置 mongoose

c++ - QSyntaxHighlighter 不适用于创建的表单 QTextEdit

c++ - 从变量类型 System.DateTime 读取 C++ 中的日期/时间