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

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

Войти
Регистрация
Восстановить пароль
 
 
dezdimon
7 / 7 / 0
Регистрация: 26.10.2010
Сообщений: 57
#1

Нужно создать большой файл - C++

17.03.2012, 16:58. Просмотров 924. Ответов 17
Метки нет (Все метки)

Нужно создать файл размером 1 Мб из 1 и 0.
Нужно чтобы у каждого 0 и 1 был свой номер.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    FILE *PVPFILE;
    PVPFILE = fopen("d:\\pvp.txt", "w+");
 
    int colvoch; 
    cout<< "Vvedite dlinu dlya slych. posledovatelnosti v kbaitax" << endl;
    cin >> colvoch;
    colvoch = colvoch*1024; 
 
    unsigned long int pvpin; 
    int i;
 
    for( i=0; i<colvoch; i++ )
    { pvpin[i] = rand() % 2;
      fprintf( PVPFILE, "%d", pvpin[i]); 
    }
    fclose(PVPFILE);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2012, 16:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно создать большой файл (C++):

Подскажите, нужно перегрузить оператор или создать метод(если создать то не понимаю как) записи в файл - C++
вот как я хотел сделать запись в файл перегрузкой #pragma once #include &quot;iostream&quot; #include &quot;conio.h&quot; #include &quot;fstream&quot; class...

Файл: Скопировать текст в другой текстовый файл файл, но чётные строки должны быть с большой буквы... - C++
Создать текстовый файл. Скопировать текст в другой текстовый файл файл, но чётные строки должны быть с большой буквы, а нечетные с...

Нужно создать базу данных (создать пустой бинарный файл). Через поток. Поток бинарного файла описать в виде локальной переменной внутри функции. - C++
Совсем не понял эту тему. Нужно создать базу данных (создать пустой бинарный файл). Через поток. Поток бинарного файла описать в виде...

Нужно создать новый вектор и сохранить его в файл - C++
Добрый день Нужно создать вектор, занести туда некоторые значения и сохранить их в файл. Вот, что я сделал vector &lt;string&gt;...

Нужно создать файл в который записать столбиком цифры от 1 до n - C++
Создать файл в который записать столбиком цифры от 1 до n

Курсовая-нужно Создать файл, содержащий сведения о телефонах абонентов - C++
Будьте добры помогите пожалуйста по курсовой работе: А. Создать файл, содержащий сведения о телефонах абонентов. Каждая запись имеет...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Байт
Эксперт C
15977 / 10245 / 1535
Регистрация: 24.12.2010
Сообщений: 19,327
17.03.2012, 17:21 #2
Цитата Сообщение от dezdimon Посмотреть сообщение
C
1
2
3
4
5
6
unsigned long int pvpin; 
* * * * int i;
for( i=0; i<colvoch; i++ )
* * * * { pvpin[i] = rand() % 2;
* * * * * fprintf( PVPFILE, "%d", pvpin[i]); 
* * * * }
Что может подумать транслятор, увидев pvpin[i] ?
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
17.03.2012, 18:02 #3
dezdimon, Что ты имеещ ввиду что каждый 0 и 1 должен иметь свой номер?

Добавлено через 3 минуты
Вот забацал код - водищ кол-во (биты) и он делает файл, но что значит "Нужно чтобы у каждого 0 и 1 был свой номер"?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
  int colvoch, i;
  FILE *PVPFILE;
  PVPFILE = fopen("d:\\pvp.txt", "w+");
  cin>>colvoch;
  
  for(int i=0;i<colvoch;i++){
  if(i%2==0){
  fprintf( PVPFILE, "0");}
   else {
   fprintf( PVPFILE, "1");}
   }
  
  fclose(PVPFILE);
  system("\nPAUSE");    
  return 0;
}
dezdimon
7 / 7 / 0
Регистрация: 26.10.2010
Сообщений: 57
17.03.2012, 18:16  [ТС] #4
Мне потом нужно из этого файла доставать 7, 32 бит и т.к.

Добавлено через 12 минут
Ну к примеру единицу под 32 и нолик под номером 5...
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
17.03.2012, 18:22 #5
dezdimon, Понятно, сча чонибуть придумаем
dezdimon
7 / 7 / 0
Регистрация: 26.10.2010
Сообщений: 57
17.03.2012, 18:28  [ТС] #6
Я думаю что нужно работать с массивами, но когда я создаю массив из 1000000 чисел, то программа прерывается

Добавлено через 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
29
30
31
32
33
34
35
// OIB.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
 
using namespace std; 
 
int main()
{
    FILE *PVPFILE;
    PVPFILE = fopen("d:\\pvp.txt", "w+");
 
    /*------Генерация ПВП---------*/
 
    int colvoch; 
    cout<< "Vvedite dlinu dlya slych. posledovatelnosti v kbaitax" << endl;
    cin >> colvoch;
    colvoch = colvoch*1024; 
 
    unsigned long int pvpin[1000000]; 
    unsigned long int i;
 
    for( i=0; i<colvoch; i++ )
    { pvpin[i] = rand() % 2;
      fprintf( PVPFILE, "%d", pvpin[i]); 
    }
    /*------------------------*/
 
    
 
    fclose(PVPFILE);
    return 0;
}
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
17.03.2012, 18:31 #7
Попробуй такой код (тока у меня выдает неизвестную ошибку может у тя получится)
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 <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
  int colvoch, i,bitintxt;
  FILE *PVPFILE;
  PVPFILE = fopen("d:\\pvp.txt", "w+");
  cin>>colvoch;
  
  for(int i=0;i<colvoch;i++){
  if(i%2==0){
  fprintf( PVPFILE, "0");}
   else {
   fprintf( PVPFILE, "1");}
   }
  fclose(PVPFILE);
  
  FILE *PVPFILE1;
  PVPFILE1 = fopen("d:\\pvp.txt", "r");
  cin>>bitintxt; //ГЌГіГ¦Г*ûé ГЎГЁГІ
  char chintxt[colvoch+1]; //ГЊГ*Г±Г±ГЁГў Г± ñèìâîëГ*ìè ГЁГ§ txt
  for(int i=0;i<colvoch+1;i++){
  chintxt[i]=getc(PVPFILE1);
  fclose(PVPFILE1);
  cout<<chintxt[bitintxt];
  
  system("\nPAUSE");    
  return 0;
}
dezdimon
7 / 7 / 0
Регистрация: 26.10.2010
Сообщений: 57
17.03.2012, 18:43  [ТС] #8
ничего...
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
17.03.2012, 18:48 #9
Все переделал - теперь работает
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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
 
 
using namespace std;
 
int main(int argc, char *argv[])
{
  int colvoch,bitintxt;
  FILE *PVPFILE;
  PVPFILE = fopen("d:\\pvp.txt", "w+");
  cin>>colvoch;
  
  for(int i=0;i<colvoch;i++){
  if(i%2==0){
  fprintf( PVPFILE, "0");}
   else {
   fprintf( PVPFILE, "1");}
   }
  fclose(PVPFILE);
  
  FILE *PVPFILE1;
  PVPFILE1 = fopen("d:\\pvp.txt", "r");
  int getc(FILE *PVPFILE1);
  cin>>bitintxt; //ГЌГіГ¦Г*ûé ГЎГЁГІ
  char chintxt[colvoch+1]; //ГЊГ*Г±Г±ГЁГў Г± ñèìâîëГ*ìè ГЁГ§ txt
  for(int i=0;i<(colvoch+1) && chintxt[i]!=EOF;i++){
  chintxt[i]=fgetc(PVPFILE1);}
  fclose(PVPFILE1);
  cout<<chintxt[bitintxt];
  
  system("\nPAUSE");    
  return 0;
}
Добавлено через 44 секунды
Я там забыл у for поставить } вот он и к фор припися } main

Добавлено через 2 минуты
Один минус - он начинает считать с 0
dezdimon
7 / 7 / 0
Регистрация: 26.10.2010
Сообщений: 57
17.03.2012, 18:48  [ТС] #10
Ругается на строчку:
C++
1
char chintxt[colvoch+1]; //Массив с символами из txt
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
17.03.2012, 18:55 #11
Но можно переделать 28 строчку на
C++
1
for(int i=1;i<(colvoch+2) && chintxt[i]!=EOF;i++){
и тогда все гуд

Добавлено через 5 минут
Цитата Сообщение от dezdimon Посмотреть сообщение
Ругается на строчку:
C++
1
char chintxt[colvoch+1]; //Массив с символами из txt
А ты чем пользуешся Visual Studio?
dezdimon
7 / 7 / 0
Регистрация: 26.10.2010
Сообщений: 57
17.03.2012, 18:58  [ТС] #12
Да, Visual Studio.
Переделал ту строчку не помогло!
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
17.03.2012, 19:05 #13
А у тебя вообше не работает или ты водиш и он вылетает с ошибкой?
P.S. Я использую Dev-C++ и все работает
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
17.03.2012, 19:14 #14
Вот - все работает!
Миниатюры
Нужно создать большой файл  
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
17.03.2012, 19:28 #15
Чуть облагородил код, может теперь получится
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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
 
 
using namespace std;
 
int main(int argc, char *argv[])
 
{
  setlocale( LC_ALL,"" ); //Вывод на русском языке
 
  int colvoch,bitintxt; // colvoch - объем файла, bitintxt - номер бита который будет показывать символ
  FILE *PVPFILE;
  PVPFILE = fopen("d:\\pvp.txt", "w+");
  cout<<"Введите обьем файла (в битах) ";
  cin>>colvoch; 
  
  for(int i=0;i<colvoch;i++){
  if(i%2==0){
  fprintf( PVPFILE, "0");}
   else {
   fprintf( PVPFILE, "1");}
   }
  fclose(PVPFILE); 
  
  FILE *PVPFILE1; 
  PVPFILE1 = fopen("d:\\pvp.txt", "r"); // снова открываем файл но уже только на чтение ("r")
  cout<<"Введите нужный по счету бит ";
  cin>>bitintxt; //Нужный бит
  char chintxt[colvoch+1]; //Массив с символами из pvp.txt
  for(int i=1;i<(colvoch+2) && chintxt[i]!=EOF;i++){
  chintxt[i]=fgetc(PVPFILE1);}
  fclose(PVPFILE1);
  cout<<"Символ "<<chintxt[bitintxt]<<" в "<<bitintxt<<"ом бите."<<endl;
  
  system("PAUSE");  
  return 0;
}
Хотя вряд ли, пищи пока на Dev-C++
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2012, 19:28
Привет! Вот еще темы с ответами:

Не большой опрос Нужно ли изучать С++ - C++
Мне интересно пригодится ли в дальнейшем С++ что можно делать с помощью данного языка программирования??Или его можно изучить на базовом...

Не большой код, нужно написать коментарии хотябы на главные строчки! - C++
string fixErrors(string encfile) { int doh = 0; int sindromeOneOriginal; int sindromeTwoOriginal; int...

Dev-C++: очень большой файл при компиляции - C++
Я перепробовал очень много всяких компиляторов C++ и мне они все не нравились по интерфейсу и т.д. И вот я нашёл программу Dev-C++, всё,...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.03.2012, 19:28
Ответ Создать тему
Опции темы

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