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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Anatoliy Coder
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 75
#1

Считывание из файла в char' овский массив - C++

13.10.2012, 10:11. Просмотров 1217. Ответов 4
Метки нет (Все метки)

Да вопрос боян, но у меня почему-то все символы программа считывает, как один и тот же символ.
Дайте пожалуйста код, который считает в char'овский массив весь файл (в файле много строк)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2012, 10:11     Считывание из файла в char' овский массив
Посмотрите здесь:

Считывание текста из файла text в массив char - C++
Такая проблема, есть файл с текстом There are many big and small libraries everywhere in our country. They have millions of books in...

Считывание в массив char с консоли - C++
не выходит считать массив чаров, после перевода строки консоль не закрывается, а просто переходит на др. строку и никак не реагирует, либо...

Считывание значений из файла (преобразование char в int) - C++
Доброго времени суток. Столкнулся с такой проблемой. Была произведена запись числового массива int16 в файл в таком виде: ...

Считывание из файла в char - при выводе выводится лишнее - C++
Считываю из файла в строку типа char, если у меня в строке меньше 16 символов, то при выводе выводится какой-то мусор, наверное связано с...

Считывание из файла в массив - C++
#include "stdafx.h" #include <stdio.h> #include <iostream> #include <conio.h> using namespace std; int main() { FILE*...

Считывание из файла в массив - C++
Задание: Дан в файл в котором записана матрица вершин, необходимых для создания 3D фигуры. Написать программу, которая считывает данную...

Считывание файла в массив - C++
Здравствуйте Мне была поставлена задача сделать рандомный выбор строк из файла. И я не знаю как считать из файла строки в массив что бы к...

Считывание из файла в массив строк - C++
Например в файле: jfgjfjgfjkjdf32vsdf1 342rdfrg 3524t6yrfdh3 er2etg И тд Надо чтобы создался массив char из четырех...

Считывание из файла в двумерный массив - C++
Здравствуйте. Подскажите пожалуйста (если есть уже решение), как считать из файла в двумерный массив.

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
13.10.2012, 10:14     Считывание из файла в char' овский массив #2
Покажи свой код.
Anatoliy Coder
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 75
13.10.2012, 21:23  [ТС]     Считывание из файла в char' овский массив #3
Нет у меня уже своего кода я уже разные варианты из инета методом копипаста пробывал. Неполучается.
Если можно, то предложите мне ваш вариант пожалуйста.

Добавлено через 16 минут
Ну вот пример моей попытки, но он вместо нормального чтение все время выдает MMMMMMMMMMMM.......
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <fstream>
 using namespace std;
int main()
{
    setlocale(LC_ALL,"");
    char str[1000];
    ifstream fail("object.obj", ifstream::in );
    int i;
    i = 0;
    while (i != 400)
    {
    fail.get(str[i]);
    cout << str[i];
i = i +1;
    }
  fail.close();
  system("pause");
 
}
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2012, 21:57     Считывание из файла в char' овский массив #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
27
28
29
30
31
32
33
#include <iostream>
#include <fstream>
using namespace std; 
 
int main()
{
    setlocale(0, "");
    
    ifstream f("file.txt", ios::binary);
 
    char *p = 0;
    if (!f.is_open()) cout << "Error!" << endl;
    else
    {
        f.seekg(0, ios::end);
        int n = f.tellg();
        f.seekg(0, ios::beg);
        
        char *p = new char[n];
        
        for (int i = 0; i < n; i++)
        {
            f.get(p[i]);
            cout << p[i];
        }
        
        f.close();
    }
    
    cout << endl;
    system("pause");
    return 0;
}
Добавлено через 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>
#include <fstream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"");
    
    char str[1000];
    
    ifstream fail("object.obj");
    if (!fail.is_open()) cout << "Error!" << endl; // если файла нет
    
    else
    {
        int i;
        i = 0;
        while (i != 400)
        {
            fail.get(str[i]);
            cout << str[i];
            i++;
        }
  
        fail.close();
    }
  
  cout << endl;
  system("pause");
  return 0;
 }
Anatoliy Coder
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 75
13.10.2012, 22:26  [ТС]     Считывание из файла в char' овский массив #5
Спасибо, что подсказали, сейчас буду пробовать.
P.S. Все получилось. Действительно оказалось, что файла небыло в нужном каталоге.
Yandex
Объявления
13.10.2012, 22:26     Считывание из файла в char' овский массив
Ответ Создать тему
Опции темы

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