tablica w c++ getline

0

witam serdecznie
Mam pytanie co czy jest jakiś sposób który by umożliwiał zapamiętywanie ciągów znaków tak aby każdy element tablicy nie był pusty . oto kod programu w którym w ten sposób nie działa

#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char *argv[])
{   int N;
    string k[10];
    ifstream plik;
    plik.open("test.txt");
    plik>>N;
    cout<<N<<"\n";
    for (int i=0;i<N+1;i++)
   { getline(plik,k[i]);
    cout<<k[i]<<"\n";}
    system("PAUSE");
    return EXIT_SUCCESS;
}
0

Nie za bardzo Cie rozumiem,, strzelam: chcesz usunąć spacje z ciągu? Napisz jeszcze raz co chcesz zrobić, tylko postaraj się dobrze sprecyzować swoje potrzeby.

0

Ja też nie rozumiem co chcesz zrobić. BTW nie powinno być w warunku pętli samo N, a nie N + 1?

0

chce aby 1 element tablic k[0] nie przchowywał ciagu pustego. bo za kazdym razem jak odpalam program k[0]=" "

0

Kod wygląda w porządku, może z pliku po prostu ci czyta pustą linijkę? Napisałeś, że k[0] = " "; czyli jednak nie jest pusty, coś ma.

0
#include <string>
#include <vector>
#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char *argv[]){
    vector<string>tab;
    ifstream in("test.txt");
    string tmp;
    while(getline(in,tmp)){
        tab.push_back(tmp);
    }
    for(int i=0;i<tab.size();i++)
        cout<<tab[i]<<endl;
    in.close();
    return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1