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

Считать даные из файла в массив - C++

Восстановить пароль Регистрация
 
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
24.11.2012, 12:18     Считать даные из файла в массив #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
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
    FILE*f;
    f=fopen("D:\\dig.txt", "w");
    if (!f) 
    {
        cout<<"ERROR";
        return 1;
    }
    int n,a; 
    cout<<"Count digits";
    cin>>n;
    for(int i=0; i<n; i++)
    {
        cout<<"Enter digit";
        scanf("%d", &a);
        fprintf(f, "%d\n", a);
    }
    fclose(f); 
    return 0;
}
Создаеться нормально. Потом через етот пробую считать файл. ну оно вроде бы и открывает его, но в масив не пишет. Та и после запуска, чтото в консоле выводит, а потом ошибка у меня.
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
#include <iostream>
#include <stdio.h>
#include <string.h>
#include<conio.h>
const int n=5;
using namespace std;
void main()
{
    FILE* f;
    f=fopen("D:\\dig.txt","r");
    int arr[n];
    int i=0;
    for(i; i<n; i++)
    {
        fscanf(f, "%d", arr);
    }
    int k=0;
    while(!feof(f))
    {
        cout<<arr[k]<<endl;
        k++;
    }
    getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
24.11.2012, 17:00     Считать даные из файла в массив #2
Цитата Сообщение от ozzy_b Посмотреть сообщение
C++
1
fscanf(f, "%d", arr);
разве не
C++
1
fscanf(f, "%d", &arr[i]);
?
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
24.11.2012, 19:39  [ТС]     Считать даные из файла в массив #3
MrGrig, незнаю, ошибку выдает.
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 239
24.11.2012, 20:19     Считать даные из файла в массив #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
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
    int M[10]={2,5,6,44,5,66,7,8,9,10};
 
//запись числового массива M[10] в файл D:\\dig.txt
ofstream f1 ("D:\\dig.txt");
for(int i=0; i<10; i++)
    f1 << M[i] <<" "; 
f1.close();
 
//чтение данных из файла D:\\dig.txt в массив В[10] и вывод в консольное окно
ifstream f2 ("D:\\dig.txt");
int B[10];
for(int i=0; i<10; i++)
{
    f2 >> B[i];
    cout << B[i] << " ";
}
f2.close();
    
system ("pause");
return 0;
}
Yandex
Объявления
24.11.2012, 20:19     Считать даные из файла в массив
Ответ Создать тему
Опции темы

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