Debugging 在VC+中从Excel csv读取矩阵+;还有一些错误检查?

Debugging 在VC+中从Excel csv读取矩阵+;还有一些错误检查?,debugging,visual-c++,Debugging,Visual C++,快速提问:我有一个csv文件,包含360行和3列。每个单元格或矩阵条目都是双精度类型(例如:1.0000000、0.9314933、0.9866587)。我想下面的代码会得到这些条目: //construct 2-d array float CDF_inputs[360][3]; std::ifstream file("filename"); for(int row = 0; row < 360; ++row) { std::string line; std::g

快速提问:我有一个csv文件,包含360行和3列。每个单元格或矩阵条目都是双精度类型(例如:1.0000000、0.9314933、0.9866587)。我想下面的代码会得到这些条目:

//construct 2-d array 
 float CDF_inputs[360][3];

 std::ifstream file("filename");

for(int row = 0; row < 360; ++row)
{
    std::string line;
    std::getline(file, line);

    if ( !file.good() )
        break;

    std::stringstream iss(line);

    for (int col = 0; col < 3; ++col)
    {
        std::string val;
        std::getline(iss, val, ',');

        if ( !iss.good() )
            break;

        std::stringstream convertor(val);
        convertor >> CDF_inputs[row][col];
    }
}
//构造二维数组
浮动CDF_输入[360][3];
std::ifstream文件(“文件名”);
用于(整数行=0;行<360;++行)
{
std::字符串行;
std::getline(文件,行);
如果(!file.good())
打破
std::stringstream iss(线路);
用于(整数列=0;列<3;++列)
{
std::字符串val;
std::getline(iss,val,,);
如果(!iss.good())
打破
std::stringstream转换器(val);
转换器>>CDF_输入[行][列];
}
}
该文件仅包含双精度字符,除逗号外不包含其他字符。我运行代码,它构建(VisualStudioC++),并且没有错误。然而,我不认为它工作正常

  • 给定的代码正确吗
  • 如果文件不正确,或者阵列无法“加载”,如何调试或“打印到控制台”阵列或错误消息

  • 谢谢你给我发的第一封信

    我想你在学习。好的,您可以通过在适当的源代码行上点击F9来放置断点,并通过按F10按钮逐行执行代码。因此,在调试时,您可以在变量上按住鼠标指针,查看它们包含的内容

    我假设您正在使用Visual Studio

    祝你好运。

    “但是我不认为它工作正常。”你能在问题中解释一下吗:到底是什么让你相信这一点?