The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Чтение и обработка данных файла"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Чтение и обработка данных файла"  
Сообщение от Valera email(??) on 21-Окт-08, 01:47 
Привет Всем
Как вообще данные читаются из файла и обрабатываются?
В файле лежат цифры, их нужно проссумировать...Сумму записать в другой файл

#include <fstream>
#include <iostream>
#include <cstdlib>
#include <string>

using std::ifstream;
using std::ofstream;
using std::cout;
using std::endl;
    using namespace std;
int main(){
    ifstream fin;
    ofstream fout;
    fout.open("flow1");
    fin.open("flow");
    if(fout.fail())
    {
        cout<<"cant open";    
        exit(1);
    }
    if(fin.fail())
    {
        cout<<"cant open";    
        exit(1);
    }
    
    char next;
    fin.get(next);
//вариант 1
    while ( ! fin.eof())
        {
            //cout<<next;
            if( next== '\n')
                {
                    //cout<< '1';
                }
            fin.get(next);
        }
//вариант 2
/*    char next2[256];
    while ( ! fin.eof())
        {
            
            fin.getline(next2,sizeof(next2));
        //    cout<<next2<<endl;
        }
*/

    fin.close();
    fout.close();

}

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Чтение и обработка данных файла"  
Сообщение от Valera email(??) on 21-Окт-08, 01:57 
Хм...нашел функцию atoi, strtol,atof...Попробую
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Чтение и обработка данных файла"  
Сообщение от angra (ok) on 21-Окт-08, 02:24 
Студентам здесь не подают.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Чтение и обработка данных файла"  
Сообщение от weldpua2008 email(ok) on 21-Окт-08, 10:20 
>Студентам здесь не подают.

Ну а если Я скажу, что не студент, а жертва таких языков как php,turbo pascal?
Блин - прочитать данные из файла и обработать их, для Меня казалось самым простым :(

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Чтение и обработка данных файла"  
Сообщение от NuINu (??) on 21-Окт-08, 11:30 
>>Студентам здесь не подают.
>
>Ну а если Я скажу, что не студент, а жертва таких языков
>как php,turbo pascal?
>Блин - прочитать данные из файла и обработать их, для Меня казалось
>самым простым :(

в пользу жертв российского образования

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>

using std::ifstream;
using std::ofstream;
using std::cout;
using std::endl;

using namespace std;

int main(void) {
    ifstream fin;
    ofstream fout;
    fout.open("rez");
    fin.open("data");

    if(fout.fail())
    {
        cout<<"cant open output file"<<endl;    
        exit(1);
    }
    if(fin.fail())
    {
        cout<<"cant open input file"<< endl;    
        exit(1);
    }
    
    int num;
    int rez = 0;
    while ( !fin.eof()) {
    fin >> num;
    if(fin.good()) {
        rez += num;
    }
    }
    fout << rez << endl;

    fin.close();
    fout.close();
}

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Чтение и обработка данных файла"  
Сообщение от Valera email(??) on 21-Окт-08, 23:31 
>>>Студентам здесь не подают.
>>
>>Ну а если Я скажу, что не студент, а жертва таких языков
>>как php,turbo pascal?
>>Блин - прочитать данные из файла и обработать их, для Меня казалось
>>самым простым :(
>
>в пользу жертв российского образования
>

Спасибо...
Вот Я сам своял
#include <fstream>
#include <iostream>
#include <cstdlib>
#include <string>
#include <cstring>
#include <stdio.h>
#include <stdlib.h>


using std::ifstream;
using std::ofstream;
using std::cout;
using std::endl;
using namespace std;

int main(){
    ifstream fin;
    ofstream fout;
    fout.open("flow1");
    fin.open("flow");
    if(fout.fail())
    {
        cout<<"cant open";    
        exit(1);
    }
    if(fin.fail())
    {
        cout<<"cant open";    
        exit(1);
    }
    
    long int bytes_int;
    int n;
    string next3,bytes;
    char next;
    char next_[2560];
    string next2;
      char str1[2560];    
      while ( ! fin.eof())
          {    
              if( next== ',')
                  {
                    n++;
                    next2="";
                    strcpy (str1,"");
                    strcpy (next_,"");

                  }

            if(n==0)
                {
                    next2=next;
                    strcpy (str1,next2.c_str());
                    strncat (next_, str1, 2560);
                    cout<<next_<<"n:"<<n<<endl;
                }

    
              if( next== '\n')
                  {
                    n=0;
                  }

            
    
              fin.get(next);
        
          }
    fin.close();
    fout.close();

}

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Чтение и обработка данных файла"  
Сообщение от Valera email(??) on 22-Окт-08, 00:22 
>Спасибо...
>Вот Я сам своял

Мне нужно было вытягивать из файла данные, разделеные запятыми...
Сейчас это реализация для одного поля, дальше atoi, atof и все...
ЗЫ:
Я долбался 2-а дня :(
ЗЫЗЫ:
Теперь Мне нужно сделать многопоточную программу, что бы можно было читать в несколько потоков и обрабатывать...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Чтение и обработка данных файла"  
Сообщение от NuINu (??) on 22-Окт-08, 09:33 
>>Спасибо...
>>Вот Я сам своял
>
>Мне нужно было вытягивать из файла данные, разделеные запятыми...
>Сейчас это реализация для одного поля, дальше atoi, atof и все...
>ЗЫ:
>Я долбался 2-а дня :(
>ЗЫЗЫ:
>Теперь Мне нужно сделать многопоточную программу, что бы можно было читать в
>несколько потоков и обрабатывать...

Валера, то что я вижу это не очень здрово,хоть сам и не пишу на с++ но смею посоветовать обращаться за помощью к сайту http://www.cplusplus.com, там неплохой хелп есть

вы когда пишите что то о своих программах не забывайте указывать формат данных(если он есть) который вы хотите обработать, если я к примеру исхожу из такого формата:

23, 4, 34, 55,
232, 22, 33, -34,
1

то код будет приблизительно таким:
    int num;
    char c;
    int rez = 0;
    while ( !fin.eof()) {
        fin >> c;
        if(fin.good()) {
            if(isdigit(c) or (c == '-')) {
                fin.unget();
                fin >> num;
                //cout << "read from file: "<< num << endl;
                rez += num;
            }
        }
    }
    fout << rez << endl;


вы же пишете старшную смесь кода смешивая сишную парадигму с с++. код получается очень неустойчивый и содержит много потенциальных ошибок.
посоветую вам язык python или perl, для вашей задачи самое то.

и лучше вам забить, на многопоточность, от нее только проблемы.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Чтение и обработка данных файла"  
Сообщение от Michelnok (??) on 22-Окт-08, 14:10 

>и лучше вам забить, на многопоточность, от нее только проблемы.

+1
Ничего личного к автору вопроса, но рано ему еще лезть в синхронизацию.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Чтение и обработка данных файла"  
Сообщение от weldpua2008 email(ok) on 22-Окт-08, 14:45 
>Валера, то что я вижу это не очень здрово,хоть сам и не
>пишу на с++ но смею посоветовать обращаться за помощью к сайту
>http://www.cplusplus.com, там неплохой хелп есть
>
>вы когда пишите что то о своих программах не забывайте указывать формат
>данных(если он есть) который вы хотите обработать

Это Я написал то, что заработало, так как сложно сразу встать на рельсы С++, когда в том же php строка у Меня как хотел, так и интерпретировал...

Тут же Я столкнулся с тем, что Мне надо из файла прочитать строку, разбить на части и обработать - разделители ",". Я собственно испытал с этим трудность, и это мое 1-е решение, и Я ничего не говорю по поводу его "красоты"...

Я незнаю функций, вот поэтому так страшем мой код, ну а книга под рукой не помогла :(

>>и лучше вам забить, на многопоточность, от нее только проблемы.
>
>+1
>Ничего личного к автору вопроса, но рано ему еще лезть в синхронизацию.
>

А что через 10 лет Я смогу с ней разобраться :)?
Я потому и лезу, что если не пробовать, то и через 100 лет ничего не выйдет...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Чтение и обработка данных файла"  
Сообщение от NuINu (??) on 22-Окт-08, 20:41 

>А что через 10 лет Я смогу с ней разобраться :)?
>Я потому и лезу, что если не пробовать, то и через 100
>лет ничего не выйдет...

Ну что уж говорить, делай раз такой упертый... может из тебя гуру выйдет. они ведь тоже не готовыми рождаются. потом может чего и сам подскажешь!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Чтение и обработка данных файла"  
Сообщение от Valera email(??) on 22-Окт-08, 22:43 
>
>>А что через 10 лет Я смогу с ней разобраться :)?
>>Я потому и лезу, что если не пробовать, то и через 100
>>лет ничего не выйдет...
>
>Ну что уж говорить, делай раз такой упертый... может из тебя гуру
>выйдет. они ведь тоже не готовыми рождаются. потом может чего и
>сам подскажешь!

Ну а как Я должен реагировать? - по собственной шкуре знаю, что программистами не рождаются, это всего-лишь имение думать+знания+навыки и т.д.
Просто талант даст возможность научится не за годы, а за дни :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Чтение и обработка данных файла"  
Сообщение от angra (ok) on 25-Окт-08, 00:31 
>Ну а если Я скажу, что не студент, а жертва таких языков
>как php,turbo pascal?

Для подобных задач лучше подходят скриптовые языки, если вам понадобилось это на С++ значит почти наверняка задали в школе/институте. Кроме того обработка файла в Turbo Pascal и С(не путать с С++) практически не различается.
>Блин - прочитать данные из файла и обработать их, для Меня казалось
>самым простым :(

Так и есть, вот на ассемблере или брейнфаке это действительно проблема :)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Чтение и обработка данных файла"  
Сообщение от weldpua2008 email(ok) on 25-Окт-08, 13:32 
>>Ну а если Я скажу, что не студент, а жертва таких языков
>>как php,turbo pascal?
>
>Для подобных задач лучше подходят скриптовые языки, если вам понадобилось это на
>С++ значит почти наверняка задали в школе/институте. Кроме того обработка файла
>в Turbo Pascal и С(не путать с С++) практически не различается.

Ну а если сажу что надо написать прогу, которая будет из файла тягать данные для построения всяких диаграмм для телескопа?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Чтение и обработка данных файла"  
Сообщение от NuINu (??) on 25-Окт-08, 15:20 
>>>Ну а если Я скажу, что не студент, а жертва таких языков
>>>как php,turbo pascal?
>>
>>Для подобных задач лучше подходят скриптовые языки, если вам понадобилось это на
>>С++ значит почти наверняка задали в школе/институте. Кроме того обработка файла
>>в Turbo Pascal и С(не путать с С++) практически не различается.
>
>Ну а если сажу что надо написать прогу, которая будет из файла
>тягать данные для построения всяких диаграмм для телескопа?

Я бы ответил, очень хорошо подойдет python!!! рулез, + gtk или qt или какая нибудь из библиотект обработки математической информации к python типа gsl+matplotlib

впорочем навязывать не буду, выбор за вами.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Чтение и обработка данных файла"  
Сообщение от angra (ok) on 26-Окт-08, 03:59 
А давайте вы прочитаете изначальное сообщение, а не будете говорить о своем. Я не утверждал что ввод/вывод не надо делать на С/С++, вот только задача прочитать числа из файла, суммировать и записать в другой файл не делается здравомыслящими людьми на С/С++, если конечно это не студенческое задание :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру