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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.83
SoNaRu
2 / 2 / 0
Регистрация: 01.05.2011
Сообщений: 36
#1

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

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

Прошу написать прогу, чтобы читала из одного txt файла число и писала его в другой. Желательно стандартными функциями С++. Я сам пытался, но почему-то не работает. А мне важно научиться читать из файла и писать в него. Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2011, 12:42     Числа из одного файла переписать в другой
Посмотрите здесь:
Как переписать текст из одного файла в другой? C++
C++ Переписать уникальные числа одного массива в другой
C++ Переписать слова из одного файла в другой, разбив их строками
C++ Переписать строки с одного текстового файла в другой в обратном порядке
C++ Переписать из одного файла в другой информацию о кубиках согласно условию
C++ Бинарные файлы: считать данные из одного файла и переписать в другой
C++ .Переписать все слова из одного файла в другой в алфавитном порядке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Чистый
Автор FAQ
2704 / 1400 / 73
Регистрация: 08.09.2011
Сообщений: 3,732
Записей в блоге: 1
30.09.2011, 13:00     Числа из одного файла переписать в другой #2
ну так покажите что вы написали, тогда вам покажут где вы не правы....
SoNaRu
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;
}
это в билдере компилировал, ошибок не находит, но ни в консоль, ни в файл ничего не пишет
-=ЮрА=-
Заблокирован
Автор 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
alkagolik
Заблокирован
30.09.2011, 14:08     Числа из одного файла переписать в другой #5
SoNaRu, вы пишете на языке Си. меняйте учебник, если надо с++
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.09.2011, 14:38     Числа из одного файла переписать в другой #6
Цитата Сообщение от alkagolik Посмотреть сообщение
SoNaRu, вы пишете на языке Си. меняйте учебник, если надо с++
Там всего вперемешку хватает, разве что паскаля нет.
Знаю одного преподавателя, написал книжечку по С++, а там только функции языка Си, выдает это за С++
MrGluck
Модератор
Эксперт CЭксперт С++
7182 / 4348 / 634
Регистрация: 29.11.2010
Сообщений: 11,839
30.09.2011, 17:00     Числа из одного файла переписать в другой #7
Цитата Сообщение от Thinker Посмотреть сообщение
Там всего вперемешку хватает, разве что паскаля нет.
Знаю одного преподавателя, написал книжечку по С++, а там только функции языка Си, выдает это за С++

Не по теме:

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

SoNaRu
2 / 2 / 0
Регистрация: 01.05.2011
Сообщений: 36
30.09.2011, 17:59  [ТС]     Числа из одного файла переписать в другой #8
SoNaRu, вы пишете на языке Си. меняйте учебник, если надо с++
Да это не по учебнику, это в интернете нарыл. Работа с файлами - один большой пробел в моих знаниях, пытаюсь его залатать. Кстати, мне вот -=ЮрА=- (спасибо ему огромное!) код скинул, а как из чаровского массива в интовый числа записать? Если я точно знаю, что считываю только числа.
alkagolik
Заблокирован
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;
}
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.09.2011, 20:00     Числа из одного файла переписать в другой #10
Цитата Сообщение от MrGluck Посмотреть сообщение

Не по теме:

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

Не по теме:

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

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

Не по теме:

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

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2011, 12:55     Числа из одного файла переписать в другой
Еще ссылки по теме:
C++ Переписать из одного файла в другой только третью и четвертую строки, содержащие пробелы
Переписать из одного массива в другой C++
C++ Переписать элементы с массива с одного в другой
C++ Не могу корректно переписать элементы из одного массива в другой
C++ Из одного массива переписать отрицательные элементы в другой массив и упорядочить их по возрастанию

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

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

Добавлено через 1 минуту
И кстати, насчет преподавателя, я имел в виду не университетские задания, а эксперта по языку, который может осветить непонятную мне тему.
Yandex
Объявления
01.10.2011, 12:55     Числа из одного файла переписать в другой
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru