C++引入外部txt文件内容的方法
2016-10-09 10:28
771 查看
1.引入头文件fstream
2.定义对象如果是读入应该用 ifstream类魔板,如果是往里面写应为ofream;int out
3.实例化出来一个ifstream 的对象,对象.open(“”,)第一个参数写文件打开的位置,第二个写打开的方式例如读入用ios::in//int out stream
4.声明一个字符指针数组,数组中存每一行的裁剪的每一个字符串
5.声明一个字符数组用来存每一行的字符串内容,注意:内存应该足够大
6.!对象.eof()函数只要文件没有读取结束,返回布尔值 //end of file
7.对象.is_open()返回一个布尔值,用来判断文件是否打开成功。
8.对象.getline()函数得到每一行的内容
9.在使用strtok字符串裁剪函数,详情参见字符串函数strtok的用法
10.最后对象.close()关闭文件读取。
11.代码如下:
#include <iostream>
#include<fstream>
#include<string>
using namespace std;
//读取外部文件(数据外部化:txt文档/xml文件)
void main()
{
//----------C++读取外部txt文件内容的方法-------------
ifstream ReadFile;// in file stream 文件输入流类对象
ReadFile.open("data.txt",ios::in);//打开文件,打开哪个文件,打开方式 in out stream
int id = 0 ;
// 物品的ID
string name = "";// 物品的名字
int BuyPrice = 0;// 物品的买入价格
int SellPrice = 0;// 物品的卖出价格
int attribute = 0;// 物品的属性
char * pStr[5] = {};//字符指针数组 用来存入每行的n个字符串
if( ReadFile.is_open() )//判断文件打开是否成功
{
cout<<"文件成功打开......"<<endl;
char Content[256] = {};//用来存储从文件中读取到的数据 整行的内容
while ( !ReadFile.eof() ) //只要文件没有读取结束 end of file
{
ReadFile.getline(Content, 256);//获取每行的内容,存储位置,数据个数
int index = 0 ;//指针数组的下标
/*
strtok:裁剪字符串:将参数字符串以" "分割
*/
char * pTemp = strtok(Content," ");//第一次进来就是第一个字符串
while(pTemp)
{
pStr[index] = pTemp;
pTemp = strtok(NULL," ");
++index;
}
//----------转换字符串成为数据-----------
id = atoi(pStr[0]);// ascii to int
name = pStr[1];
BuyPrice = atoi(pStr[2]);
SellPrice = atoi(pStr[3]);
attribute = atoi(pStr[4]);
//----------根据ID号判断道具的类型-----------
cout<<id<<endl;
cout<<name.c_str()<<endl;
cout<<BuyPrice <<endl;
cout<<SellPrice<<endl;
cout<<attribute<<endl;
}
}
else
cout<<"文件打开失败"<<endl;
ReadFile.close();
system("pause");
}
2.定义对象如果是读入应该用 ifstream类魔板,如果是往里面写应为ofream;int out
3.实例化出来一个ifstream 的对象,对象.open(“”,)第一个参数写文件打开的位置,第二个写打开的方式例如读入用ios::in//int out stream
4.声明一个字符指针数组,数组中存每一行的裁剪的每一个字符串
5.声明一个字符数组用来存每一行的字符串内容,注意:内存应该足够大
6.!对象.eof()函数只要文件没有读取结束,返回布尔值 //end of file
7.对象.is_open()返回一个布尔值,用来判断文件是否打开成功。
8.对象.getline()函数得到每一行的内容
9.在使用strtok字符串裁剪函数,详情参见字符串函数strtok的用法
10.最后对象.close()关闭文件读取。
11.代码如下:
#include <iostream>
#include<fstream>
#include<string>
using namespace std;
//读取外部文件(数据外部化:txt文档/xml文件)
void main()
{
//----------C++读取外部txt文件内容的方法-------------
ifstream ReadFile;// in file stream 文件输入流类对象
ReadFile.open("data.txt",ios::in);//打开文件,打开哪个文件,打开方式 in out stream
int id = 0 ;
// 物品的ID
string name = "";// 物品的名字
int BuyPrice = 0;// 物品的买入价格
int SellPrice = 0;// 物品的卖出价格
int attribute = 0;// 物品的属性
char * pStr[5] = {};//字符指针数组 用来存入每行的n个字符串
if( ReadFile.is_open() )//判断文件打开是否成功
{
cout<<"文件成功打开......"<<endl;
char Content[256] = {};//用来存储从文件中读取到的数据 整行的内容
while ( !ReadFile.eof() ) //只要文件没有读取结束 end of file
{
ReadFile.getline(Content, 256);//获取每行的内容,存储位置,数据个数
int index = 0 ;//指针数组的下标
/*
strtok:裁剪字符串:将参数字符串以" "分割
*/
char * pTemp = strtok(Content," ");//第一次进来就是第一个字符串
while(pTemp)
{
pStr[index] = pTemp;
pTemp = strtok(NULL," ");
++index;
}
//----------转换字符串成为数据-----------
id = atoi(pStr[0]);// ascii to int
name = pStr[1];
BuyPrice = atoi(pStr[2]);
SellPrice = atoi(pStr[3]);
attribute = atoi(pStr[4]);
//----------根据ID号判断道具的类型-----------
cout<<id<<endl;
cout<<name.c_str()<<endl;
cout<<BuyPrice <<endl;
cout<<SellPrice<<endl;
cout<<attribute<<endl;
}
}
else
cout<<"文件打开失败"<<endl;
ReadFile.close();
system("pause");
}
相关文章推荐
- c++将struct中的内容写入txt文件的方法(含嵌套struct情况)
- C++将txt文件内容保存到数组的方法
- jQuery中getScript方法引入外部js文件,乱码处理(自己遇到的问题)
- 读取TXT文件内容的方法
- php生成txt文件标题及内容的方法
- php读取外部txt文件内容并打印在页面|fopen()函数
- java读取txt文件内容,存放到list的方法
- sql 读取txt 文件内容,并写入sql的方法
- JS调用后台方法获取txt文件内容
- C++ 利用string读取txt文件的方法
- c/c++ 通过 内存映射 方法同步修改文件内容
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- sql 读取txt 文件内容,并写入sql的方法
- C++读取txt文件的方法
- php生成txt文件标题及内容的方法
- 读取TXT文件内容的方法
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法
- C++往txt文本文件里面写入内容
- VC++在TXT文件指定位置追加内容的方法