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

файл!!! - C++

Восстановить пароль Регистрация
 
TambowsWolf
0 / 0 / 0
Регистрация: 09.07.2011
Сообщений: 19
12.07.2011, 21:39     файл!!! #1
Нужна помощь в создании файла на простом языке СИ. Буду благодарен.

Дан файл произвольного типа. Создать его копию с новым именем.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2011, 21:39     файл!!!
Посмотрите здесь:

Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке C++
C++ Дан файл. Записать в другой файл строки, которые являются палиндромами.
C++ Дан символьный файл f. Записать в файл g элементы файла f в обратном порядке
C++ Скопировать текстовый файл в новый файл, заменив в каждой строке слова «ok» на «*»
Дан символьный файл f. Записать в файл g компоненты файла f в обратном порядке C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KILKEN
6 / 6 / 0
Регистрация: 08.07.2011
Сообщений: 39
12.07.2011, 21:45     файл!!! #2
оно?:
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
#include <iostream>
#include <fstream>
#include <string>
#include <stdexcept>
 
void copy_file(const std::string& src, const std::string& dst) {
   std::ifstream in(src.c_str(), std::ios::binary);
   if ( !in ) {
      throw std::runtime_error("can`t open file: " + src);
   }
   std::ofstream out(dst.c_str(), std::ios::binary|std::ios::trunc);
   if ( !out ) {
      throw std::runtime_error("can`t create file: " + dst);
   }
   out << in.rdbuf();
}
 
int main(int argc, const char** argv)  {
   try {
      copy_file("test.txt", "test2.txt");
   } catch (const std::exception& e) {
      std::cout << e.what() << std::endl;
   }
 
   return 0;
}
TambowsWolf
0 / 0 / 0
Регистрация: 09.07.2011
Сообщений: 19
12.07.2011, 21:51  [ТС]     файл!!! #3
А можно эту программу как-то на обычный Си переделать?
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
12.07.2011, 22:06     файл!!! #4
KILKEN,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <fstream>
#include <iterator>
#include <algorithm>
 
int main()
{
    std::ifstream input("input.txt");
    std::ofstream output("output.txt");
 
    std::copy(std::istream_iterator <char>(input), std::istream_iterator <char>(), std::ostream_iterator <char>(output));
 
    return 0;
}
Правда не на Си..)
TambowsWolf
0 / 0 / 0
Регистрация: 09.07.2011
Сообщений: 19
12.07.2011, 22:10  [ТС]     файл!!! #5
Переделайте пожалуйста на обычный стандартный язык СИ.
An1ka
65 / 70 / 2
Регистрация: 30.06.2011
Сообщений: 176
12.07.2011, 22:37     файл!!! #6
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 <stdio.h>
#include <stdlib.h>
 int main ( )
{
   const char* in_file = "file.txt";
   const char* out_file = "file2.txt";
 
   char *text;
   unsigned size;
   FILE *in, *out;
   in = fopen( in_file,"rb");
   if ( !in) return 0;
   fseek( in, 0, SEEK_END);
   size = ftell( in);
   rewind ( in);
   text = (char*) malloc( size);
   fread ( text, sizeof(char), size, in);
   fclose( in);
 
   out = fopen( out_file, "wb");
   if ( !out) return 0;
   fwrite ( text, sizeof(char), size, out);
   fclose( out);
   free( text);
 
   return 0;
}
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
12.07.2011, 23:12     файл!!! #7
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
int main()
{
   const char* in_file = "file.txt";
   const char* out_file = "file2.txt";
 
   int ch;
   FILE *in = NULL, *out = NULL;
 
   in = fopen( in_file,"rb");
   if (!in)
      return 1;
   out = fopen( out_file, "wb");
   if (!out)
      return 2;
   while ((ch = fgetc(in)) != EOF)
      fputc(ch, out);
   fclose(in);
   fclose(out);
   return 0;
}
TambowsWolf
0 / 0 / 0
Регистрация: 09.07.2011
Сообщений: 19
12.07.2011, 23:20  [ТС]     файл!!! #8
Цитата Сообщение от kazak Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
int main()
{
   const char* in_file = "file.txt";
   const char* out_file = "file2.txt";
 
   int ch;
   FILE *in = NULL, *out = NULL;
 
   in = fopen( in_file,"rb");
   if (!in)
      return 1;
   out = fopen( out_file, "wb");
   if (!out)
      return 2;
   while ((ch = fgetc(in)) != EOF)
      fputc(ch, out);
   fclose(in);
   fclose(out);
   return 0;
}
Эта программа почему-то не создает новый файл?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
12.07.2011, 23:30     файл!!! #9
Цитата Сообщение от TambowsWolf Посмотреть сообщение
Эта программа почему-то не создает новый файл?
Или не может найти исходный?
Попробуй такой вариант и следи за сообщениями:
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   const char* in_file = "file.txt";
   const char* out_file = "file2.txt";
 
   int ch;
   FILE *in = NULL, *out = NULL;
 
   in = fopen( in_file,"rb");
   if (!in)
   {
      printf("Can't open input file\n");
      system("pause");
      return 1;
   }
   out = fopen( out_file, "wb");
   if (!out)
   {
      printf("Can't open output file\n");
      system("pause");
      return 2;
   }
   while ((ch = fgetc(in)) != EOF)
      fputc(ch, out);
   fclose(in);
   fclose(out);
   return 0;
}
TambowsWolf
0 / 0 / 0
Регистрация: 09.07.2011
Сообщений: 19
12.07.2011, 23:42  [ТС]     файл!!! #10
Цитата Сообщение от kazak Посмотреть сообщение
Или не может найти исходный?
Попробуй такой вариант и следи за сообщениями:
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   const char* in_file = "file.txt";
   const char* out_file = "file2.txt";
 
   int ch;
   FILE *in = NULL, *out = NULL;
 
   in = fopen( in_file,"rb");
   if (!in)
   {
      printf("Can't open input file\n");
      system("pause");
      return 1;
   }
   out = fopen( out_file, "wb");
   if (!out)
   {
      printf("Can't open output file\n");
      system("pause");
      return 2;
   }
   while ((ch = fgetc(in)) != EOF)
      fputc(ch, out);
   fclose(in);
   fclose(out);
   return 0;
}
даже если есть и исходный файл с именем "file.txt", то выбивает "Can't open input file"
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
12.07.2011, 23:44     файл!!! #11
Напрашивается вполне логичный вывод, что исходный файл находится не там, где его ищет программа.
MegaByte
9 / 6 / 1
Регистрация: 27.06.2011
Сообщений: 110
12.07.2011, 23:45     файл!!! #12
TambowsWolf, а файл находится в папке с программой?
TambowsWolf
0 / 0 / 0
Регистрация: 09.07.2011
Сообщений: 19
13.07.2011, 00:00  [ТС]     файл!!! #13
да!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2011, 00:06     файл!!!
Еще ссылки по теме:

Даны натуральное , символьный файл и текстовый файл . Файл содержит 30 слов , каждое из которых будем называть ключевым C++
Дан целочисленный файл А. Записать в файл В все кратные трём числа из А C++
C++ Задан текстовый файл, необходимо по нему сформировать двоичный файл индексов

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

Или воспользуйтесь поиском по форуму:
MegaByte
9 / 6 / 1
Регистрация: 27.06.2011
Сообщений: 110
13.07.2011, 00:06     файл!!! #14
все работает по преведенному выше коду
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 <stdio.h>
#include <stdlib.h>
 int main ( )
{
   const char* in_file = "file.txt";
   const char* out_file = "file2.txt";
 
   char *text;
   unsigned size;
   FILE *in, *out;
   in = fopen( in_file,"rb");
   if ( !in) return 0;
   fseek( in, 0, SEEK_END);
   size = ftell( in);
   rewind ( in);
   text = (char*) malloc( size);
   fread ( text, sizeof(char), size, in);
   fclose( in);
 
   out = fopen( out_file, "wb");
   if ( !out) return 0;
   fwrite ( text, sizeof(char), size, out);
   fclose( out);
   free( text);
 
   return 0;
}
создал проект скомпилил сохранил все, создал файл в той же папке с проектом file.txt опять скомпилил запустил все работает норм
Yandex
Объявления
13.07.2011, 00:06     файл!!!
Ответ Создать тему
Опции темы

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