Форум программистов, компьютерный форум CyberForum.ru

Найти количество вещественных чисел в файле и вывести их в другой файл - C++

Восстановить пароль Регистрация
 
Dread1
7 / 7 / 2
Регистрация: 16.10.2012
Сообщений: 61
20.02.2013, 00:28     Найти количество вещественных чисел в файле и вывести их в другой файл #1
Не получается решить данную задачу.. Если бы кто помог, был бы признателен. И так, вот мой код в данный момент

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
 
ifstream file_input("D:\\test\\in.txt");
//ofstream file_output("D:\\test\\out.txt");
 
int readFile(string *line, string lin, double *flo)
{
char *str = new char[200], *ptrCh;
int i=0;
 if (file_input.is_open())
 {
  cout << "Чтение данных из файла: " << endl;
  while(!file_input.eof())
  {
   getline(file_input, *line);
 cout << *line << endl << endl;;
   strcpy(str, line.c_str());
  ptrCh=strtok(str, " ;,:");
   cout << "asd"<< ptrCh;
   while(ptrCh)
   {
   flo[i++]=atof(ptrCh);
   ptrCh = strtok (NULL, " ,:;-");
   } 
  }
  file_input.close();
  return 0;
 }
 
 else{
  cout << "Не удалось открыть файл 'input.in'" << endl;
  return 1;
 }
}
int main(){
 setlocale(LC_ALL, "Russian");
 string line, *ptrLine = &line;
 int min;
 double *flo=new double[3000];
 readFile(ptrLine, line, flo);
 delete[] flo;
 system("PAUSE");
 return 0;
}


Столкнулся с такой проблемой, что мне нужно после того как считывается первая линия в string копировать её в char *str. Но не получается чего то. Вроде бы из того что написано, должно работать. Может быть кто подскажет, каким образом я могу заставить
C++
1
strcpy(str, line.c_str());
работь. Вроде бы пробывал и саму строку подать в функцию... Ничего не вышло
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2013, 00:28     Найти количество вещественных чисел в файле и вывести их в другой файл
Посмотрите здесь:

C++ Открыть файл, имя которого задается с клавиатуры. Посчитать количество байт в этом файле. Первую половину прочитанного файла записать в другой файл.
С++ как найти слово в файле и вывести его в другой файл C++
Найти количество элементов массива вещественных чисел, дробная часть которых равна 0,5 C++
Дано имя файла целых чисел. Найти количество элементов, содержащихся в данном файле. Если файла с таким именем не существует, то вывести –1 C++
Найти в файле самую длинную строку и переписать её в другой файл C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
20.02.2013, 00:39     Найти количество вещественных чисел в файле и вывести их в другой файл #2
Как числа разделены между собой?
Dread1
7 / 7 / 2
Регистрация: 16.10.2012
Сообщений: 61
20.02.2013, 00:58  [ТС]     Найти количество вещественных чисел в файле и вывести их в другой файл #3
Вообще, в задании ничего не сказано, но предположил я , что с помощью " :;-". Мне пока что не это главное

C++
1
 cout << "asd"<< ptrCh;
эта строка не нужна совсем, была просто для проверки
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.02.2013, 02:50     Найти количество вещественных чисел в файле и вывести их в другой файл #4
Компилируется без ошибок?
Цитата Сообщение от Dread1 Посмотреть сообщение
strcpy(str, line.c_str());
line - это указатель на строку. Значит: strcpy(str, line ->c_str());
Dread1
7 / 7 / 2
Регистрация: 16.10.2012
Сообщений: 61
20.02.2013, 15:36  [ТС]     Найти количество вещественных чисел в файле и вывести их в другой файл #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Компилируется без ошибок?

line - это указатель на строку. Значит: strcpy(str, line ->c_str());

а можешь, пожалуйста, рассказать поподробнее, что "->" значит, и когда используется. Ато недавно изучать ++ начал

Добавлено через 25 минут
ещё вопрос: Как можно определить имеет ли число дробную часть? Есть у меня пара идей, но мне кажется можно сделать проще
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.02.2013, 15:47     Найти количество вещественных чисел в файле и вывести их в другой файл #6
Цитата Сообщение от Dread1 Посмотреть сообщение
что "->" значит, и когда используется
Обращение к полям и методам объекта через указатель на него. То же можно получить через разыменование указателя:
C++
1
(*line).c_str()
Yandex
Объявления
20.02.2013, 15:47     Найти количество вещественных чисел в файле и вывести их в другой файл
Ответ Создать тему
Опции темы

Текущее время: 17:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru