我刚开始使用Visual C ++并尝试从字符串数组中的.csv文件导入数据。我知道其他人已经问过这个问题,但我的问题是我的程序甚至没有在该位置读取文件。我尝试按照本网站上的代码进行跟踪,但无济于事。我确定这是一个愚蠢的问题,但我是一个新的语言启动者。代码和输出如下。您认为这个问题是什么?如果你们需要csv文件,请告诉我,我愿意转发你的电子邮件。:
// New_work.cpp:定义控制台应用程序的入口点。 //
#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int i, j;
string VolsCorrs[50][20];
ifstream reader;
reader.open("C:\C++_Programs\EaR_20130719_VolsCorrs_V5.csv");
if (!reader)
{
cout << "Error opening input file" << endl;
cin.get();
return -1;
}
for(i=0; i<50; i++)
{
for(j=0; j<22; j++)
{
getline(reader, VolsCorrs[i][j], ',');
}
}
reader.close();
cout << "Volatility and Correlation input" << VolsCorrs << endl;
cin.get();
return 0;
}
输出:
'New_work.exe': Loaded 'C:\C++_Programs\New_work\Debug\New_work.exe', Symbols loaded.
'New_work.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Symbols loaded (source information stripped).
'New_work.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Symbols loaded (source information stripped).
'New_work.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Symbols loaded (source information stripped).
'New_work.exe': Loaded 'C:\Windows\SysWOW64\msvcp100d.dll', Symbols loaded (source information stripped).
'New_work.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Symbols loaded (source information stripped).
The program '[15844] New_work.exe: Native' has exited with code -1 (0xffffffff).
答案 0 :(得分:0)
当然,有一个问题是你的数组的维度为50x20,并且在你的嵌套for循环中你因为j<22
条件而访问了索引[i] [20]和[i] [21]。它们位于数组的边界之外,因此会导致内存冲突。