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

Работа с TXT файлом! - C++

Восстановить пароль Регистрация
 
Vovik_0_1
 Аватар для Vovik_0_1
40 / 40 / 4
Регистрация: 28.07.2011
Сообщений: 431
20.11.2011, 22:53     Работа с TXT файлом! #1
Привет всем! Подскажите пожалуйста как считать из файла все цифры в массив!
внутри файл имеет вид например:
C++
1
2
3
4
5
4
34
45
52
28
Я могу считать в массив но получается что в 1 ячейку массива попадает двойное число например 45,а не 4 в 1 ячейке а 5 в другой! Например массив
C++
1
IK[5].
Я могу считать вот так :
C++
1
2
3
4
5
freopen ("input.txt","r",stdin)
for (int i=0;i<5;i++)
{
std::cin >> n;
}
но ячейка массива например
C++
1
IK[2] имеет не 4 а 45
Подскажите как считать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
20.11.2011, 23:19     Работа с TXT файлом! #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
27
28
29
30
31
32
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    int * arr= NULL;
    int buf, i = 0, n;
    ifstream ifs("data.txt");
    ifs>>n;
    if(!(arr = new int[n]))
        cout<<"allocation memory error\n";
    else
    while(!ifs.eof())
    {
        ifs>>buf;
        if(i < n)
            arr[i] = buf;
        i++;
    }
    ifs.close();
    if(n != i)
        cout<<"File contain "<<i<<" insted "<<n<<endl;
    else
    {
        cout<<"See array\n";
        for(i = 0; i < n; i++)
            cout<<arr[i]<<"\n";
    }
    system("pause");//Ïðîñòî ñòîï-òî÷êГ*
    return 0;
}
File contain 6 insted 4
Для продолжения нажмите любую клавишу . . .
Vovik_0_1
 Аватар для Vovik_0_1
40 / 40 / 4
Регистрация: 28.07.2011
Сообщений: 431
21.11.2011, 15:26  [ТС]     Работа с TXT файлом! #3
Спасибо конечно, но я не понял в какой массив! Может у гого есть варианты по проще?
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
21.11.2011, 15:49     Работа с TXT файлом! #4
get читает по одному символу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstdio>
#include <cctype>
 
int main()
{
    freopen ("1.txt", "r", stdin);
    const int size = 100;
    char arr[size];
    for (int i = 0; i < size && std::cin.get(arr[i]); )
    {
        if(!isspace(arr[i]))
        {
            std::cout << arr[i] << std::endl;
            ++i;
        }
    }
    return 0;
}
Yandex
Объявления
21.11.2011, 15:49     Работа с TXT файлом!
Ответ Создать тему
Опции темы

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