C++ строки getline seekg
От: leg0  
Дата: 06.04.05 20:19
Оценка:
Подскажите, что не так.
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
//================================
using namespace std;
//=============================
struct log{
string login;
string passw;
};
//===============================
int main(){
const int n = 80;
int lenfile = 0, i = 0, pos = 0;
char* str = new char[];
string s1;
struct log* q = new struct log[lenfile];
ifstream f("C:\\file.txt");
if(!f){ cout << "Cannot open this file." << endl; return 0; }
while(!f.eof()){
f.getline(str,n);
lenfile++;
}
f.seekg(0); // Хочу чтобы курсор вернулся к началу файла
for(i = 0; i < lenfile; i++){
f.getline(str,n); //после этой команды в стр пустая строка
s1.assign(str); //а мне надо, чтобы там бала снова первая сторка из файла
pos = s1.find(':');
q[i].login = s1.substr(0, pos);
q[i].passw = s1.substr(pos + 1, s1.size());
}
//for(i = 0; i < lenfile; i++) cout << q[i].login << q[i].passw << endl;
return 0;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.