Я вроде как новый для C++, и у меня есть проблема с моей программой. Я искал часы и дни, и хотя есть много сообщений, похожих на этот, я не могу понять, почему моя программа не работает.Чтение файла, строки перехода и сохранение данных в массиве.
У меня есть файл, который содержит данные таким образом.
STRING FLOAT FLOAT
STRING INT
STRING FLOAT FLOAT FLOAT
STRING INT INT
FLOAT
FLOAT ...
Так первые несколько линии имеют строка для первого столбца и номер для остальных, и в какой-то момент есть только число с плавающей точкой.
Мне удалось получить данные до того места, где начинаются все поплавки, но я не могу понять, как сохранить остальное количество в массиве. (Я ЗНАЮ, ЧТОБЫ БЫТЬ БОЛЬШИМ ЛЕГКОЙ, ЧТОБЫ ДЕЛАТЬ С ВЕКТОРОМ, НО Я ДОЛЖЕН СДЕЛАТЬ С СТАРОМ).
Это то, что я сделал.
void getData(string *ext, int size)
{
istringstream is(*ext);
float val;
is >> val;
float *arrVal = new float[10]; // I dont know the size of the Array.
if(typeid(val) == typeid(float)) //IM NOT SURE ABOUT THIS AT ALL. I JUST DON'T KNOW HOW TO GET TO THE LINE WHERE THERE ARE NO STRINGS
{
arr[size] = atof(*ext.c_str());
} // I think this part is why it does not work.
int main()
{
ifstream File("t.txt");
string line;
int nLines(0);
float *arrayValues = new float[12];
if(!inFile)
{
cerr << "Cannot open file." << endl;
return -1;
}
else
{
while(getline(File, line))
{
getValues(&line, nLines);
getPoints(&line); //this function gets the values of the first lines.
++nLines;
}
}
system("pause");
return 0;
}
Поэтому в основном я должен выяснить, как перейти к строке, в которой все поплавки начать и как сохранить их в массиве. Я уверен, что есть куча ошибок. Надеюсь, вы, ребята, получите то, что я пытаюсь сделать. Я действительно везде искал и ничего не могу найти.
спасибо !!
Что делают getPoints (& line) и getValues (& line, nLines)? – khajvah
Вы правы насчет ошибок. Это не компилируется. Пожалуйста, напишите что-нибудь, что делает. И знаете ли вы, что такое * ссылка *? – WhozCraig
О, getPoints должен быть getData выше, я просто изменил его имя. Полученные значения получают первые строки, которые начинаются со строки. – user2775084