寻找编程高手,帮我编写一个程序:将一个.dat文件通过C++语言读取,并存入一个二维数组中。
这个.dat文件是通过MATLAB将一个矩阵生成的,其中有1700行,508列,全部都是整数(有正有负),数字与数字之间是用逗号隔开的。现在希望通过使用VC++6.0软件...
这个.dat文件是通过MATLAB将一个矩阵生成的,其中有1700行,508列,全部都是整数(有正有负),数字与数字之间是用逗号隔开的。现在希望通过使用VC++6.0软件来编写一个程序,读取这个.dat文件,将其中的数对应存入一个1700行,508列的二维数组中。感激不尽!!!(不要忘了数字与数字之间有逗号分隔)
展开
1个回答
展开全部
vector<string> SplitString(string s,char a)
{
vector<string> Results=vector<string>();
int index=s.find_first_of(a);
while(index>=0)
{
index=s.find_first_of(a);
string s1=s.substr(0,index);
if (s1!="")
{
Results.push_back(s1);
}
s=s.substr(index+1,s.length()-index);
}
return Results;
}
int _tmain(int argc, _TCHAR* argv[])
{
ifstream input;
input.open(path1);
char temp[510];
string s;
double A[1700][508]
int i=0;
while(!input.eof())
{
input.getline(temp,510);
s=temp;
vector<string> ss=SplitString(s,',');
if (ss.size()>0)
{
for(int j=0;j<508;j++)
{
A[i][j]=atof(ss[j].c_str());
}
i++;
}
}
input.close();
return 0;
}
{
vector<string> Results=vector<string>();
int index=s.find_first_of(a);
while(index>=0)
{
index=s.find_first_of(a);
string s1=s.substr(0,index);
if (s1!="")
{
Results.push_back(s1);
}
s=s.substr(index+1,s.length()-index);
}
return Results;
}
int _tmain(int argc, _TCHAR* argv[])
{
ifstream input;
input.open(path1);
char temp[510];
string s;
double A[1700][508]
int i=0;
while(!input.eof())
{
input.getline(temp,510);
s=temp;
vector<string> ss=SplitString(s,',');
if (ss.size()>0)
{
for(int j=0;j<508;j++)
{
A[i][j]=atof(ss[j].c_str());
}
i++;
}
}
input.close();
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询