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

Сохранить массив в файл а потом считать его из файла - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
Diz87
0 / 0 / 0
Регистрация: 18.05.2011
Сообщений: 3
18.05.2011, 12:20     Сохранить массив в файл а потом считать его из файла #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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
using namespace std;
 
int main()
{
    setlocale (0,"");
    const int str = 10;
    const int stolb = 10;
    int mass[str][stolb];
    int s=0,i,j,a,c, e=1,d = 100,temp,x,z;
    const char * filepath="c:\\file.txt";
 
        cout <<"Массив до сортировки""\n\n";
    for (int i = 0; i < str; i++)   
  {      
  for (int j = 0; j < stolb; j++)  
        {  
        mass[i][j]=rand()%99+1;    
        cout << mass[i][j] << " ";    
        }  
  cout << "\n";   
  }    
     cout << " Массив после сортировки строк по возрастанию ""\n\n";  
for (int k = 0; k < str; k++)     
  {  
  for(int i = 0;i < stolb; i++)     
    {    
    for (int j = str - 1; j > i; j--)    
      if (mass[k][j] < mass[k][j-1])    
       {    
        int tmp = mass[k][j];    
        mass[k][j] = mass[k][j-1];    
        mass[k][j-1] = tmp;
            
        }        
         
    }  
       
 }
ofstream ArFile(filepath);
for (int i=0;i<str; i++)
 {
    for (int j=0;j<stolb; j++)
    {
        ArFile<<mass[i][j]<<" ";
    }
}
ArFile<<"\n\n";
     
}
ArFile.close();
cout <<"Массив сохранен в файл: " <<filepath;
cout <<"\nДля продолжения нажмите любую клавишу...";
cin.get();
}





Парни,нужна помощь и очень срочно!!! Пожалуйста посмотрите мой код и помогите сохранить мой массив в файл, а потом в етом же коде считать его из файла! Я вот написал код,но он у меня чето не работает. Посмотрите и поправте пожалуйста ошибки! Я просто ума не приложу как это сделать!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2011, 12:20     Сохранить массив в файл а потом считать его из файла
Посмотрите здесь:

Считать одномерный массив с файла, отсортировать его использую рекурсивный вызов функции C++
Нужно записать массив в файл, а потом из этого файла считать этот же массив C++
C++ Как правильно сохранить и потом считать структуру в бинарный файл
Одномерный массив Х(15) считать из файла *.txt (файл создать самим). Найти: Максимальный из отрицательных элементов и поменять его местами с после C++
C++ Записать файл в массив, а потом его раскидать
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
18.05.2011, 12:50     Сохранить массив в файл а потом считать его из файла #2
const char * filepath="c:\\file.txt" заменить на char filepath[]="c:\\file.txt";
cout <<"Массив до сортировки""\n\n" что за чудо? может так cout <<"Массив до сортировки" <<"\n\n";
Для считывания попробуй.
C++
1
2
3
FILE * file = fopen(filepath,"r");
char buff[128]={0};
fread(buff,sizeof(char),sizeof(buff),file);
Для записи fwrite(buff,sizeof(char),sizeof(buff),file);
После всех манипуляций с файлом закрой его fclose(file);
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
18.05.2011, 12:52     Сохранить массив в файл а потом считать его из файла #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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <windows.h>
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 
        const int str = 10;
        const int stolb = 10;
        int mass[str][stolb];
        int s=0,i,j,a,c, e=1,d = 100,temp,x,z;
        const char * filepath="c:\\file.txt";
 
        cout <<"Массив до сортировки""\n\n";
        for (int i = 0; i < str; i++)   
  {      
  for (int j = 0; j < stolb; j++)  
        {  
        mass[i][j]=rand()%99+1;    
        cout << mass[i][j] << " ";    
        }  
  cout << "\n";   
  }    
         cout << " Массив после сортировки строк по возрастанию ""\n\n";  
for (int k = 0; k < str; k++)     
  {  
  for(int i = 0;i < stolb; i++)     
    {    
    for (int j = str - 1; j > i; j--)    
      if (mass[k][j] < mass[k][j-1])    
       {    
        int tmp = mass[k][j];    
        mass[k][j] = mass[k][j-1];    
        mass[k][j-1] = tmp;
                    
        }        
         
    }  
       
 }
ofstream ArFile(filepath);
for (int i=0;i<str; i++)
 {
        for (int j=0;j<stolb; j++)
        {
                ArFile<<mass[i][j]<<" ";
        }
                ArFile<<endl;
}
ArFile<<"\n\n";
         
 
ArFile.close();
cout <<"Массив сохранен в файл: " <<filepath;
cout <<"\nДля продолжения нажмите любую клавишу...";
cin.get();
}
Вот так всё нормально запихивается в файл
Diz87
0 / 0 / 0
Регистрация: 18.05.2011
Сообщений: 3
18.05.2011, 13:21  [ТС]     Сохранить массив в файл а потом считать его из файла #4
А как мне запихнуть в мой код вот это FILE * file = fopen(filepath,"r");
char buff[128]={0};
fread(buff,sizeof(char),sizeof(buff),file
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
18.05.2011, 13:37     Сохранить массив в файл а потом считать его из файла #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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <windows.h>
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 
        const int str = 10;
        const int stolb = 10;
        int mass[str][stolb];
        int s=0,i,j,a,c, e=1,d = 100,temp,x,z;
        const char * filepath="c:\\file.txt";
 
        cout <<"Массив до сортировки""\n\n";
        for (int i = 0; i < str; i++)   
  {      
  for (int j = 0; j < stolb; j++)  
        {  
        mass[i][j]=rand()%99+1;    
        cout << mass[i][j] << " ";    
        }  
  cout << "\n";   
  }    
         cout << " Массив после сортировки строк по возрастанию ""\n\n";  
for (int k = 0; k < str; k++)     
  {  
  for(int i = 0;i < stolb; i++)     
    {    
    for (int j = str - 1; j > i; j--)    
      if (mass[k][j] < mass[k][j-1])    
       {    
        int tmp = mass[k][j];    
        mass[k][j] = mass[k][j-1];    
        mass[k][j-1] = tmp;
                    
        }        
         
    }  
       
 }
ofstream ArFile(filepath);
for (int i=0;i<str; i++)
 {
        for (int j=0;j<stolb; j++)
        {
                ArFile<<mass[i][j]<<" ";
        }
                ArFile<<endl;
}
ArFile<<"\n\n";
         
 
ArFile.close();
cout <<"Массив сохранен в файл: " <<filepath;
cout <<"\nДля продолжения нажмите любую клавишу...";
cin.get();
 
FILE * file = fopen(filepath,"r");
char buff[128]={0};
fread(buff,sizeof(char),sizeof(buff),file); 
}
Yandex
Объявления
18.05.2011, 13:37     Сохранить массив в файл а потом считать его из файла
Ответ Создать тему
Опции темы

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