刚刚才接触c++,求各位大神解答!请问如何读取每一行:后的数字,并将其赋予变量
c++初学者,之前对c++完全没有了解,其他的编程也知之甚少。现在研究生老师让我去改之前一个做的一个计算软件的程序,赶鸭子上架,遇到了困难,实在没办法,只得上论坛求助,希望各位大大帮忙解答一下,十分感谢!
“工况选择:0
发动机转速:1000
档位:3”
上面冒号里面的是我txt中的一部分,我现在要用c++读取txt文件中,每一行的“:”之后的数字,并给他们分别复制变量。试了一些方法,用getline函数不能解决,下面是我结合网上的办法写的函数。
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
double sg[100];
int i;
void main()
{
fstream infile;
infile.open("1.txt",ios::in);
if(!infile)
{
cout<<"can't open.\n";
abort();
}
char s[80];
i=0;
while(!infile.eof())
{
i=i+1;
infile.getline(s,line,':');
cout<<s<<endl;
sscanf(s,"%f",&sg);
cout<<sg<<endl;
}
infile.close();
} 返回小木虫查看更多
求大神们回复
分析规律,提取子串,转换成数字。你要的内容,看看手册中string类的方法。
看看这里。http://www.cplusplus.com/reference/string/string/substr/
谢谢楼主,解决了
,
发了贴求助,也可以分享下方法
用字符串函数split函数,通过:进行分割字符串,即可
学习了。