本教程详细介绍如何使用C++编程语言进行TXT文件的基本操作,包括文件的打开、关闭、读取与写入,并教授如何对文本内容中的字符进行分割处理。适合初学者掌握基础输入输出技能。
在实际工程应用中经常会遇到需要读取包含小数或整型数据的txt文件的需求,在C++编程语言环境中可以使用string类及ifstream库来实现这一功能。然而,从txt文件中读出的数据通常是以字符串形式返回,并且通常是每一行为一个单独的字符串。
一、在C++中如何读取txt文件
为了读取.txt格式的文本段落件,我们需要用到fstream库中的ifstream类及其open和close成员函数。
示例代码如下:
```cpp
#include
#include
#include
using namespace std;
int main(){
string s;
ifstream infile1;
infile1.open(1.txt);
while(getline(infile1, s)){
cout << s << endl;
}
infile1.close();
cin.get(); //等待用户按键后退出
return 0;
}
```
此代码将逐行读取指定的txt文件,并在控制台上打印每一行的内容。
二、字符串分离方法
1. 当txt中仅包含整数数据时:
```cpp
void stringTOnum1(string s, int* pdata){
bool temp=false;
int data=0;
int m=0;
for(int i=0;i=0)&&(s[i]<=9)){
temp=true;
data*=10;
data+=(s[i]-48); //字符转数字
i++;
}
if(temp){
pdata[m]=data;
m++;
data=0;
temp=false;
}
}
}
```
2. 当txt中包含小数数据时:
```cpp
void stringTOnum2(string s, double* pdata){
bool temp=false;
int ndata=0;
double fdata=0;
for(int i=0;i=48)&&(s[i]<=57)||(s[i]==46)){
if(s[i]==46){ //遇到小数点
n++;
continue;
}
else{
if(n==0) ndata=ndata*10+(s[i]-48);
else fdata=fdata*10+(s[i]-48);
}
}
if(temp){
pdata[m]=ndata+fdata*pow(10,-n);
m++;
ndata=0;
fdata=0;
temp=false;
}
}
}
```
以上代码示例展示了如何从读取的字符串中分离出整数和小数值。