Avatar billede noaz Nybegynder
09. februar 2005 - 18:08 Der er 5 kommentarer og
1 løsning

indlæs ordliste.txt

jeg har en ordliste (wordlist.txt), som indeholder 76129 linjer med ét ord på hver.
Er det muligt at indlæse denne fil, således at hvert ord bliver gemt i et String Array (string words[]) og hvordan kanman gøre det?

filen fylder 569346 bytes ialt.
Avatar billede arne_v Ekspert
09. februar 2005 - 18:17 #1
Ja.

Men medmindre du altid ved hvormange linier/ord der er, så var det måske
bedre at bruge en vector til at gemme string's i.
Avatar billede arne_v Ekspert
09. februar 2005 - 18:21 #2
Eksempel på brug af vector og string:

#include <iostream>
#include <fstream>
#include <vector>
#include <string>

using namespace std;

int main()
{
  ifstream f("tst.txt");
  vector<string> v;
  while(!f.eof())
  {
      string w;
      getline(f,w);
      v.push_back(w);
  }
  for(int i=0;i<v.size();i++) cout << v[i] << endl;
  return 0;
}
Avatar billede noaz Nybegynder
09. februar 2005 - 19:23 #3
kan du skrive det om, så det kan bruges som en funktion istedet for main sub?
således at vektoren er global?
Avatar billede arne_v Ekspert
09. februar 2005 - 19:30 #4
#include <iostream>
#include <fstream>
#include <vector>
#include <string>

using namespace std;

vector<string> v;

void readlines()
{
  ifstream f("tst.txt");
  while(!f.eof())
  {
      string w;
      getline(f,w);
      v.push_back(w);
  }
}

int main()
{
  readlines();
  for(int i=0;i<v.size();i++) cout << v[i] << endl;
  return 0;
}
Avatar billede noaz Nybegynder
09. februar 2005 - 21:10 #5
jamen så siger jeg tak for hjælpen!
jeg tilføjede lige f.close; i slutningen af funtionen :P
Avatar billede arne_v Ekspert
09. februar 2005 - 21:14 #6
Ja - det er jo en god ting.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester