Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/64: Рейтинг темы: голосов - 64, средняя оценка - 4.89
2 / 2 / 0
Регистрация: 01.05.2011
Сообщений: 36
1

Числа из одного файла переписать в другой

30.09.2011, 12:42. Показов 11906. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прошу написать прогу, чтобы читала из одного txt файла число и писала его в другой. Желательно стандартными функциями С++. Я сам пытался, но почему-то не работает. А мне важно научиться читать из файла и писать в него. Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2011, 12:42
Ответы с готовыми решениями:

Переписать числа из одного файла в другой согласно условию
За один просмотр файла, элементами которого являются целые числа, и без использования...

Переписать числа из одного файла в другой по формуле
Создать и заполнить файл f1 числами. Переписать числа файла f1 в f2 по формуле F2n=F1n- F1m, где...

Переписать однозначные числа из одного файла в другой
Попросили помощи, но я не силен в паскале, увы. Прошу у Вас, форумчане. Нужно из одного файла...

Переписать неповторяющиеся числа из одного файла в другой
Ребят, в первый раз столкнулся с типизированными файлами(да и вообще опыта мало). подскажите...

16
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
30.09.2011, 13:00 2
ну так покажите что вы написали, тогда вам покажут где вы не правы....
0
2 / 2 / 0
Регистрация: 01.05.2011
Сообщений: 36
30.09.2011, 13:05  [ТС] 3
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
#include <vcl.h>
#include <stdio.h>
#include<fstream.h>
#include <iostream>
#pragma hdrstop
using namespace std;
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
        char n;
    FILE *input;
    if((input=fopen("input.txt", "rt"))==NULL)
        cout << "ne udalos 1";
    FILE *output;
    if((output=fopen("input.txt", "rt"))==NULL)
        cout << "ne udalos 1";
    fgets(&n, 1, input);
    fprintf(output, "%n", &n);
     cout << n;
    cin.get();
    fclose(input);
    fclose(output);
        return 0;
}
это в билдере компилировал, ошибок не находит, но ни в консоль, ни в файл ничего не пишет
0
Заблокирован
Автор FAQ
30.09.2011, 13:30 4
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
#include <iostream>//i/o
#include <fstream> //file/read
#include <conio.h> //getch
using namespace std;
 
int main()
{
    ifstream ifs;//Файловый поток для чтения
    ofstream ofs;//Файловый поток для записи
    std::cout<<"Enter FilePath to read : ";
    //Путь может быть как абсолютным так и относительным
    char sRead[256];std::cin.getline(sRead,256);
    std::cout<<"Enter FilePath to write : ";
    //Путь может быть как абсолютным так и относительным
    char sWrite[256];std::cin.getline(sWrite,256);
 
    char sLine[2048];//Буфер чтения, наиболее оптимальная его величина!
    //открываем файл для чтения
    ifs.open(sRead , ios::in);//ios::in|ios::binary - флаги доступа можно и без них
    if(!ifs)
        std::cout<<"Error open file to read";
    else
        //открываем файл для записи, в случае если файл чтения удалось открыть
    ofs.open(sWrite,ios::out);
    if(!ofs)
        std::cout<<"Error open file to write";
    else
    {
        while(!ifs.eof())//Читаем поток пока не достигнем конца
        {
            ifs.getline(sLine,2048);
            ofs<<sLine;//пишем строку в ofs
            cout<<sLine;//Заодно светим строку в консоли
        }
        //Закрываем потоки, рекомендую это делать
        ifs.close();
        ofs.close();
    }
    std::cout<<"\r\nPress any key to continue\r\n";
    getch();
    return 0;
}
Вывод в консоль
Enter FilePath to read : snr.txt
Enter FilePath to write : tst.txt
1.40844094061486 -0.182515356102092 0.66699169427249 0.289948
416312923 0.309163903001183 -1.18743048039861 0.94385038524843
2 -2.38859264392489 -1.91037804063066 2.18108599002273
2.52470223931887 1.26086978428799 0.0943978196963771 -2.24952
046808393 0.867269298090546 0.74642861184868 0.76295539220695
2 1.97046916950882 -2.26781518153961 2.077759803951331.294389
42186921 -0.0993362502407758 0.391650628496108 0.27771249520981
0.424827850575508 -0.87254491315138 0.835054742924642
-2.01728348190834 -1.52195576598546 1.8357954060386 1.88005694344794
0.905381664195809 0.169688250668927 -1.74444943577643
0.755195359299359 0.743562812153833 0.798185636026691 1.757264
95620303 -2.17278874309964 1.60624706827351.18033790312357 -0.01615
71443794642 0.116309562719744 0.265476574106698 0.54049179814982
9 -0.55765934590417 0.726259100600855 -1.6459743198918
-1.13353349134027 1.49050482205448 1.23541164757703 0.549893
544103648 0.244978681641473 -1.23937840346893 0.64312142050817
3 0.740697012458987 0.833415879846427 1.54406074289725
-2.07776230465967 1.1347343325957
Press any key to continue
1
Заблокирован
30.09.2011, 14:08 5
SoNaRu, вы пишете на языке Си. меняйте учебник, если надо с++
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.09.2011, 14:38 6
Цитата Сообщение от alkagolik Посмотреть сообщение
SoNaRu, вы пишете на языке Си. меняйте учебник, если надо с++
Там всего вперемешку хватает, разве что паскаля нет.
Знаю одного преподавателя, написал книжечку по С++, а там только функции языка Си, выдает это за С++
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
30.09.2011, 17:00 7
Цитата Сообщение от Thinker Посмотреть сообщение
Там всего вперемешку хватает, разве что паскаля нет.
Знаю одного преподавателя, написал книжечку по С++, а там только функции языка Си, выдает это за С++

Не по теме:

Его случаем не Попов зовут? Просто у нас такой преподавал на первом курсе, в его книженции даже паскаль свое место нашел. А лабы были просто сказка: используя оператор with ...

0
2 / 2 / 0
Регистрация: 01.05.2011
Сообщений: 36
30.09.2011, 17:59  [ТС] 8
SoNaRu, вы пишете на языке Си. меняйте учебник, если надо с++
Да это не по учебнику, это в интернете нарыл. Работа с файлами - один большой пробел в моих знаниях, пытаюсь его залатать. Кстати, мне вот -=ЮрА=- (спасибо ему огромное!) код скинул, а как из чаровского массива в интовый числа записать? Если я точно знаю, что считываю только числа.
0
Заблокирован
30.09.2011, 18:35 9
это только если 100% уверенность что в массиве символов цифры.
C++
1
2
3
4
5
6
7
char *a = "123";
int mass[3], i = 0;
 
while (i < 3){
     mass[i] = a[i] - '0';
     ++i;
}
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.09.2011, 20:00 10
Цитата Сообщение от MrGluck Посмотреть сообщение

Не по теме:

Его случаем не Попов зовут?...

Не по теме:

Неа, фамилию писать не буду, не красиво это все же, но имеет место быть такое. Счастье, что у нас был другой преподаватель, профи своего дела, Паскаль вел в первом семестре! Жаль только, что во втором семестре первого курса после того профи поставили абсолютно безответственного, который должен был нас учить языку С++, а сам ходил через раз на лекции, а на лекциях анекдоты рассказывал.

0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
30.09.2011, 20:03 11
Цитата Сообщение от SoNaRu Посмотреть сообщение
Да это не по учебнику, это в интернете нарыл. Работа с файлами - один большой пробел в моих знаниях, пытаюсь его залатать. Кстати, мне вот -=ЮрА=- (спасибо ему огромное!) код скинул, а как из чаровского массива в интовый числа записать? Если я точно знаю, что считываю только числа.
Работа с файлами ничем не отличается от стандартных потоков ввода/вывода. И почему многим кажется, что это какая-то невидаль, что-то сложное?
1
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.09.2011, 20:11 12
Цитата Сообщение от fasked Посмотреть сообщение
Работа с файлами ничем не отличается от стандартных потоков ввода/вывода. И почему многим кажется, что это какая-то невидаль, что-то сложное?
Это правда. Может пугает некоторых работа с сырыми байтами (двоичный формат), но и тут ничего нет сложного.
0
2 / 2 / 0
Регистрация: 01.05.2011
Сообщений: 36
01.10.2011, 12:27  [ТС] 13
Работа с файлами ничем не отличается от стандартных потоков ввода/вывода. И почему многим кажется, что это какая-то невидаль, что-то сложное?
Потому что у многих нет препода, который бы это объяснил)) По самоучителям достаточно сложно постигать язык.
0
fasked
01.10.2011, 12:43
  #14

Не по теме:

Цитата Сообщение от SoNaRu Посмотреть сообщение
Потому что у многих нет препода, который бы это объяснил)) По самоучителям достаточно сложно постигать язык.
ИМХО, все наоборот. В большинстве своем задания в университетах стандартные, об этом можно судить по форуму. И задания по работе с файлами почему-то всегда выделяются в отдельную категорию. Так что, либо преподователь чего-то не понимает, либо не те "самоучители" прочитаны. А хорошую книгу по языку найти гораздо проще, чем хорошего преподавателя.

В основном, правда, люди, которые не понимают работу с файлами, не понимают язык вообще и просто нуждаются в сдаче очередной лабораторной.

0
2 / 2 / 0
Регистрация: 01.05.2011
Сообщений: 36
01.10.2011, 12:55  [ТС] 15
не понимают язык вообще
я не буду спорить, вероятно, вы правы. Значит мне просто попался не тот самоучитель.
У меня вопрос еще один по теме есть: я считал в чаровский массив числа из файла. Но я не знаю, по сколько цифр в каждом. В файле они через пробел записаны. Их два. Как мне их в 2 переменные интовые записать?

Добавлено через 1 минуту
И кстати, насчет преподавателя, я имел в виду не университетские задания, а эксперта по языку, который может осветить непонятную мне тему.
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
01.10.2011, 13:05 16
Цитата Сообщение от SoNaRu Посмотреть сообщение
У меня вопрос еще один по теме есть: я считал в чаровский массив числа из файла. Но я не знаю, по сколько цифр в каждом. В файле они через пробел записаны. Их два. Как мне их в 2 переменные интовые записать?
Надо читать сразу в массив с нужным типом данных. В Вашем случае это будет int... или еще что-то.

Не по теме:

Цитата Сообщение от SoNaRu Посмотреть сообщение
И кстати, насчет преподавателя, я имел в виду не университетские задания, а эксперта по языку, который может осветить непонятную мне тему.
В таком случае прошу прощения, я Вас не понял сразу :)

1
2 / 2 / 0
Регистрация: 01.05.2011
Сообщений: 36
01.10.2011, 13:38  [ТС] 17
спасибо всем, кто помог. Тему можно закрывать.
0
01.10.2011, 13:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2011, 13:38
Помогаю со студенческими работами здесь

Из одного файла переписать в другой числа,кратные 3
Дан файл,содержащий случайные целые числа.Записать из него в другой файл числа кратные 3. ...

Переписать числа из одного файла в другой в заданном порядке
Всем привет! В очередной раз прошу у вас помощи, друзья: Дан файл f, компоненты которого...

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

Переписать вещественные числа из одного файла в другой в порядке возрастания
Программа которая должна переписать вещественные числа из одного файла в другой в порядке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru