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

С++ - Считывание из файла в фаил ) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
06.10.2009, 18:30     С++ - Считывание из файла в фаил ) #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
#include <fstream>
#include <conio.h>
#include <stdio.h>
#include <iostream>
 
using namespace std;
 
int main()  {
 
FILE *fp,fp1;
char result[100];
char *x;
 
fp = fopen("C:\\TEST\\example.txt","r");
fp1 = fopen("C:\\TEST\\result.txt","w");
 
while (!feof(fp)) {
      
      x = fgets(result,100,fp);
      printf("%s",result);
      fwrite((char *)result,sizeof(char),50,fp1);
      
      }
      fclose(fp);
      fclose(fp1);
      system("PAUSE");
      
      }
Чет не катит

Добавлено через 34 секунды
ЗЫ: Нужна конкретная реализация с фрайт...привык я к нему уже.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2009, 18:30     С++ - Считывание из файла в фаил )
Посмотрите здесь:

C++ считывание с файла
считывание с файла C++
Считывание из файла C++
Считывание из файла C++
C++ считывание из файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
06.10.2009, 18:39     С++ - Считывание из файла в фаил ) #2
Считывание из файла в фаил )
Тоесть нужно из оного файла скопировать все содержимое в другой?
Roxin
7 / 7 / 0
Регистрация: 06.10.2009
Сообщений: 21
06.10.2009, 18:43     С++ - Считывание из файла в фаил ) #3
C++
1
2
3
4
5
6
7
8
9
10
#include<fstream>
using namespace std;
 
int main(void)
{
  ifstream input("C:\\in.txt");
  ofstrem output("C:\\out.txt);
 
 //Далее смотри справку :)
  ...................................
Gravity
 Аватар для Gravity
556 / 550 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
06.10.2009, 18:44     С++ - Считывание из файла в фаил ) #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#define MAXBUF 256
int main(void)
{
    FILE *ifp, *ofp;
    int n;
    char buf[MAXBUF];
 
    ifp = fopen("in.txt", "r");
    if(ifp == NULL || (ofp = fopen("out.txt", "w")) == NULL) {
        perror("fopen");
        return 1;
    }
    while( (n = fread(buf, sizeof(buf[0]), MAXBUF, ifp)) > 0)
        fwrite(buf, sizeof(buf[0]), n, ofp);
    fclose(ifp);
    fclose(ofp);
    return 0;
}
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
06.10.2009, 18:51     С++ - Считывание из файла в фаил ) #5
На С++ примерно так можно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <algorithm>
#include <iostream>
#include <iterator>
#include <fstream>
#include <string>
 
int main()
{
 
    std::ifstream ifile("read.txt");
    std::ofstream ofile("write.txt");
    if(ifile.is_open()){
        std::copy
            (
            std::istream_iterator<std::string>(ifile), 
            std::istream_iterator<std::string>(), 
            std::ostream_iterator<std::string>(ofile, " ")
            );
        ifile.close();
    }
    ofile.close();
    return 0;
}
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
06.10.2009, 21:35     С++ - Считывание из файла в фаил ) #6
Welemir, сам пользуюсь так:
C++
1
2
3
4
5
6
FILE *f=fopen("text.txt", "r");
FILE *e=fopen("text1.txt", "w");
int c=0;
while((c=getc(f))!=EOF){
fputs(c, e);
}
не проверял код
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
06.10.2009, 23:01  [ТС]     С++ - Считывание из файла в фаил ) #7
У меня получилось следующее.Спасибо Медведю ))):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
int main() {
    
    FILE *fp1 = fopen("C:\\TEST\\fuck.txt","r");
    FILE *fp2 = fopen("C:\\TEST\\result.txt","w");
    char *fuck;
    
    while (!feof(fp1)) {
          
          fuck = fgets(fuck,4,fp1);
          fputs(fuck,fp2);
          
          }
 
          fclose(fp1);
          fclose(fp2);
          system("PAUSE");
          
          }
Я не собираюсь в будущем использовать классы...думаю.Слишком геморрно.Вопрос следующий: как влияет n на работу программы? Например,содержимое считываемого файла у меня такое:

fuck
dfgdfg
dfgdfg
dgfg
fghg

Передаю n = 4.Всё гут.n < 4 - Жопа. n = 5 - аналогичная жопа.Остальные значеиня не проверял.В чём может быть причина столь странного поведения ? В РНР длина считываемой строки,не совпадающая с параметром в функции fgets(),просто обрезается.

ЗЫ: Поскольку все старались мне *угодить*,то всем спасибки )))У Медведя,всё же,получился найкротчайший вариант,вот только почему ты файлы не закрываешь?) )
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
06.10.2009, 23:07     С++ - Считывание из файла в фаил ) #8
Цитата Сообщение от Welemir Посмотреть сообщение
У Медведя,всё же,получился найкротчайший вариант,вот только почему ты файлы не закрываешь?) )
лень дописать
Цитата Сообщение от Welemir Посмотреть сообщение
Передаю n = 4
что такое n и для чо он нужен?
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
06.10.2009, 23:13  [ТС]     С++ - Считывание из файла в фаил ) #9
n - количество символов,которые считывает строка.

Ещё вопрос: Твой код не работает.
15 C:\Dev-Cpp\Projects\fuck.cpp initializing argument 1 of `int fputs(const char*, FILE*)'

что означает const char* (символьная константа),но как я ни пытаюсь её передать через дефаин,ни через const char *h к примеру,ничего не выходит.Вообще,честно говоря,непонятно,как ты хочешь принимать числовые данные в переменной с,а затем их отдавать как константу?
Если я просто объявлю const char *d и передам её в fputs(),то в итоге ничего не передам,так ведь ? а как иначе-то ?
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
06.10.2009, 23:15     С++ - Считывание из файла в фаил ) #10
Welemir, попробуй так:
C++
1
char fuck[256];
Welemir, покажи момент про n
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
06.10.2009, 23:18  [ТС]     С++ - Считывание из файла в фаил ) #11
ЗЫ: Мой пример работает,я просто спросил,почему такая фигня с fgets()

Ну,вот смотри:

fuck = fgets(fuck,4,fp1);

n = 4
fuck = fgets(fuck,1,fp1);

n = 1. Переменную n я взял из спецификации.
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
06.10.2009, 23:24     С++ - Считывание из файла в фаил ) #12
Welemir, я с функцией fgets не занаком

Добавлено через 1 минуту
Welemir, блин я не понимаю,в этом примере
C++
1
2
n = 4
fuck = fgets(fuck,1,fp1);
где используется n??????
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.10.2009, 06:53     С++ - Считывание из файла в фаил ) #13
простой пример с функциями
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
#include <stdio.h>
 
int CopyFile(FILE *ifp, FILE *ofp);
void Error(void);
 
/* копирует содержимое одного файла в другой */
main()
{
    FILE *ifp, *ofp;
    
    ifp = fopen("ifile", "r");
    ofp = fopen("ofile", "w");
    
    if (!(ifp && ofp)) {
        Error();
        return 1;
    }
        
    if (!CopyFile(ifp, ofp)) {
        Error();
        return 2;
    }    
    
    return 0;
}
 
/* CopyFile:  копирует файл ifp в ofp */
int CopyFile(FILE *ifp, FILE *ofp)
{
    int c;
    
    while ((c = getc(ifp)) != EOF)
        putc(c, ofp);
    return c == EOF;    
}
 
/* Error:  выводит сообщение об ошибке */
void Error(void)
{
    fprintf(stderr, "error" "\n");
}
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
07.10.2009, 16:39  [ТС]     С++ - Считывание из файла в фаил ) #14
Эт я тупанул))На месте 1 ставится 4.Лан.фиг с этими ошибками,хоть как,но работает.
Хитрый_КОТ
 Аватар для Хитрый_КОТ
3 / 3 / 1
Регистрация: 21.11.2010
Сообщений: 30
04.06.2011, 14:47     С++ - Считывание из файла в фаил ) #15
А можно ли использовать dos команды в С++ для отображения фаила?! Например в консоле windows достаточно написать: "TYPE C:\\name.txt" и отображается содержимое фаила.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
04.06.2011, 15:12     С++ - Считывание из файла в фаил ) #16
Цитата Сообщение от Хитрый_КОТ Посмотреть сообщение
А можно ли использовать dos команды в С++ для отображения фаила?! Например в консоле windows достаточно написать: "TYPE C:\\name.txt" и отображается содержимое фаила.
Можно
C++
1
2
3
#include <stdlib.h>
 
system(" /*dos команда*/ ");
Хитрый_КОТ
 Аватар для Хитрый_КОТ
3 / 3 / 1
Регистрация: 21.11.2010
Сообщений: 30
05.06.2011, 19:20     С++ - Считывание из файла в фаил ) #17
Спасибо, огромное, теперь нет необходимости горы писать Можно с помощью одной команды обойтись
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2011, 02:34     С++ - Считывание из файла в фаил )
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
06.06.2011, 02:34     С++ - Считывание из файла в фаил ) #18
Хитрый_КОТ, Может хватит "некрофилирей" страдать!?
Yandex
Объявления
06.06.2011, 02:34     С++ - Считывание из файла в фаил )
Ответ Создать тему

Метки
файл
Опции темы

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