C++里怎么读取以逗号为分隔符的数值?
源文件如下:1,22,44,8…………有n组,而且n不确定要读到C[][]里去。。。高手来帮忙啊!!最好能举个例子说明的,回答能用的再加分......
源文件如下:
1,2
2,4
4,8…………
有n组,而且n不确定
要读到C[][]里去。。。
高手来帮忙啊!!
最好能举个例子说明的,回答能用的再加分... 展开
1,2
2,4
4,8…………
有n组,而且n不确定
要读到C[][]里去。。。
高手来帮忙啊!!
最好能举个例子说明的,回答能用的再加分... 展开
3个回答
展开全部
全部读到一个字符串里,遇到","就换成空格,然后用这个字符串构造一个stringstream, 用>>读到数组里。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int file_length(string fn){//返回文件长度
fstream inobj(fn.c_str());
string s;
int n=0;
while(!inobj.eof()&&s!=""){
inobj>>s;
n++;
}
return n;
}
void main(){
int (*pd)[2];
int a,b;
char c;
string fn = "data.txt";
int flen = filename(fn);
pd = new int[flen][2];
fstream inobj(fn);
int i = 0;
while(!inobj.eof()){
inobj>>a>>c>>b;
pd[i][0] = a;
pd[i][1] = b;
i++;
}
inobj.colse();
//输出
for(int j=0;j<flen;j++){
cout<<pd[j][0]<<","<<pd[j][1]<<endl;
}
cout<<endl;
}
#include <iostream>
#include <string>
using namespace std;
int file_length(string fn){//返回文件长度
fstream inobj(fn.c_str());
string s;
int n=0;
while(!inobj.eof()&&s!=""){
inobj>>s;
n++;
}
return n;
}
void main(){
int (*pd)[2];
int a,b;
char c;
string fn = "data.txt";
int flen = filename(fn);
pd = new int[flen][2];
fstream inobj(fn);
int i = 0;
while(!inobj.eof()){
inobj>>a>>c>>b;
pd[i][0] = a;
pd[i][1] = b;
i++;
}
inobj.colse();
//输出
for(int j=0;j<flen;j++){
cout<<pd[j][0]<<","<<pd[j][1]<<endl;
}
cout<<endl;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
想先定义int n再直接定义一个可c[n][2]二维数组是不可能的,但可以通过new开辟一个动态数组
int n;
cout<<"input n:"<<endl;
cin>>n;
int (*p)[2]=new int[n][2];
以下通过指针及循环赋值
int n;
cout<<"input n:"<<endl;
cin>>n;
int (*p)[2]=new int[n][2];
以下通过指针及循环赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询