Solved

Question about vectors with reading a file

Posted on 2004-10-17
10
212 Views
Last Modified: 2010-04-01
Hello everyone how are you doing? I am sorry to bother you all, however I have been at this for awhile now and I am not sure what to do. I am reading a file and counting the records and puting them into a vector. However the file in the data looks like this:
some text
398339
some text
3903993
What I need to do is count the records which is easy but I want to display the vector but only the text not the numbers. I have tried like arrays do A1[i].text A1[i].number. But it doesn't seem to work that way how do vectors work to do that or do they not work like that. Thanks.


0
Comment
Question by:Corey_819
  • 6
  • 2
  • 2
10 Comments
 
LVL 30

Expert Comment

by:Axter
ID: 12336076
What type is your vector holding?

If your type has a text member and a number member, then it can do that.

Please post some code so we can further assist you.
0
 
LVL 30

Expert Comment

by:Axter
ID: 12336081
>>But it doesn't seem to work that way how do vectors work to do that or do they not work like that. Thanks.

Also, please give more details as to how it does not work.
Does it fail to compile?
Does it fail to link?
Does it crash?
Does it run, but fails to display properly, and if so, more details.
0
 
LVL 1

Author Comment

by:Corey_819
ID: 12338350
I am doing this bear with me on the syntax I don't have the exact code with me it is at home and I am at work. But all this code is doing as you probably can see is loading the entire some text 934873 some text 939339. Thanks for your help greatly appreciated. :)

vector<string> v1;
string line;
infile("file.dat")

while(getline(infile, line, '\n')
{

v1.push.back(line);

}
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:Corey_819
ID: 12343331
No I don't get any errors I just don't know how to load up the array distiguishing the text and the numbers. Thanks
0
 
LVL 1

Author Comment

by:Corey_819
ID: 12343480
I meant vector not array
0
 
LVL 9

Expert Comment

by:jhshukla
ID: 12344836
the way you are currently doing reads lines from files. it will treat a string of digits as a string of chars and not as numbers. the numbers that you read in are stored as strings of chars in line. if you want to read them in to numbers instead, you can define a struct that holds a string and a number and make a vector out of that type.

or you could skip the elements that hold numbers. use v1[2*i]
0
 
LVL 1

Author Comment

by:Corey_819
ID: 12346554
jhshukla thanks for the help. I was wondering could you give me an example on how to do that with vectors. I haven't used vectors that much so I am still learning. Thanks. :)
0
 
LVL 1

Author Comment

by:Corey_819
ID: 12350259
struct Data{

    string city_name;
      double pop;
};


vector<Data> vec1;
      ifstream infile ("cities.dat");
    infile >> Data
    getline(infile, Data);

Something like this jhshukla
0
 
LVL 9

Accepted Solution

by:
jhshukla earned 125 total points
ID: 12378096
read all the lines as you are doing it now. then,
for(int i=0; i<v1.size(); i++){
  if( i%2 == 0 ) //if i is an even number
    cout << v1[i] << endl;
}

OR

for(int i=0; i < v1.size()/2; i++){
  cout << v1[i*2] << endl;
}

=======================
OR
=======================

struct Data{
    string city_name;
     double pop;
};

...
  vector<Data> vec1;
     ifstream infile ("cities.dat");
  loop{
    getline(infile, vec1[i].city_name);
    infile >> vec1[i].pop;
  }

  loop{
     cout << vec1[i].city_name
  }
...

hope that helps
jay
0
 
LVL 1

Author Comment

by:Corey_819
ID: 12380057
Thank you that is exactly what I was lookking for. :)
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
C++ get user from AD  (VS6) 7 93
thread-safe code in c++ 2 120
Microsoft C++ code failing in executable that worked 9 119
Path to  STL Map header file 1 73
In days of old, returning something by value from a function in C++ was necessarily avoided because it would, invariably, involve one or even two copies of the object being created and potentially costly calls to a copy-constructor and destructor. A…
Introduction This article is a continuation of the C/C++ Visual Studio Express debugger series. Part 1 provided a quick start guide in using the debugger. Part 2 focused on additional topics in breakpoints. As your assignments become a little more …
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

679 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question