注册 登录
编程论坛 C++教室

初学编程求教-如何读写文本文件里的内容

kaism 发布于 2007-08-20 10:58, 1097 次点击
A1A1 96 96 1 1 2 2 3 4 7 9 10 20
23 34 12 45 256 0 10 10 6 3 1 1;
A1A2 96 96 1 1 2 2 3 4 7 9 10 20
23 34 12 45 256 0 10 10 6 3 1 1;
为文本里的两行内容请问如何读,数字间为空格,数字最后个数也没有单数都是双数形式,并且读到分号就算结束一行内容开始读下一行,
请问各位高手该如何编写呢?
小弟是菜鸟,望各高手能详细说明下
7 回复
#2
kaism2007-08-20 11:10
回复:(kaism)初学编程求教-如何读写文本文件里的内...
希望大家帮帮我,这个题目已经困绕小弟一个星期了,搞了这么久一点头绪都没有
#3
aipb20072007-08-20 11:31
ifstream fin;
fin >> 变量;

这样就可以了,以空格区分;
你用一个循环读取,条件就是检测 分号
#4
kaism2007-08-20 11:53
小弟初学还不是很明白,望能写一段代码让我学习下
#5
aipb20072007-08-20 12:38
以下是引用kaism在2007-8-20 11:53:16的发言:
小弟初学还不是很明白,望能写一段代码让我学习下

文件里怎么存放的?

1 2 12;
2 3 23;
……
这样?
读取了又拿来做什么?

#6
kaism2007-08-20 12:42

这些数字是我打个比方的排列的样子,数字是两两一对的有点想坐标的样子,所以最后不可能个数不会出现单数

#7
puying20082007-08-25 15:04

说的对
就用fin>>提取就可以了

#8
HJin2007-08-26 08:17

#include <iostream>
#include <string>
#include <sstream>
#include <fstream>

using namespace std;

int main()
{
string aLine, head;
int a, b;
istringstream iss;
ifstream ifs;

ifs.open("input.txt");
// check the stream status --- code omitted here

while(getline(ifs, aLine, ';'))
{
//cout<<aLine<<endl;

iss.str(aLine);

// read "A1A1" and discard it
iss>>head;

// read two ints and output them
while(iss>>a>>b)
cout<<a<<" "<<b<<" ";
cout<<endl;

// clear string stream
iss.clear();
}

ifs.close();

return 0;
}

1