Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2013, 20:37   #1
Faton 11
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 74
По умолчанию Записать в массив каждую букву слова

Добрый вечер! Дан обычный текст в текстовом файле. Если считывать его обыкновенным образом,
Код:
fstream  Text("C:\\Files\\Text.txt",ios::in);
	for(int l=0;l<N;l++)
{
	Text>>mas[l];
}
	Text.close();
то каждому элементу массива присваивается целое слово, а не отдельная буква.
Т.е., mas[1]=hello, mas[2]=world.
A надо, чтобы было mas[1]=h, mas[2]=e, mas[3]=l, mas[4]=l и т.д.
Как это осуществить?
Faton 11 вне форума Ответить с цитированием
Старый 28.01.2013, 21:20   #2
iDima
Пользователь
 
Регистрация: 30.12.2012
Сообщений: 19
По умолчанию

Возможно ваша ошибка в том что вы задали масив строк, а не символов.
Вот рабочий пример:
Код:
#include <fstream>
#include <iostream>

int main(){
    std::ifstream in("in.txt");
    int N = 12;
    char array[12];
	for( int i = 0; i < N; i++ )
    {
        in >> array[i];
        std::cout << array[i];
    }
    in.close();
    std::cout << std::endl;

    // пауза
    system("PAUSE");
    return 0;
}

Последний раз редактировалось iDima; 28.01.2013 в 21:22.
iDima вне форума Ответить с цитированием
Старый 28.01.2013, 21:27   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

http://msdn.microsoft.com/en-us/libr...(v=vs.60).aspx
Подходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.01.2013, 21:42   #4
Faton 11
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 74
По умолчанию

iDima, кажется, то, что надо. Спасибо!
Stilet, спасибо за ссылку!
Faton 11 вне форума Ответить с цитированием
Старый 29.01.2013, 15:07   #5
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Оператор >> читает до разделителя.
Чтобы считывать посимвольно, вам нужен in.get();
Код:
fstream  Text("C:\\Files\\Text.txt",ios::in);
for(int l=0;l<N;l++)
{
	mas[l] = Text.get();
}
Text.close();
Hemul вне форума Ответить с цитированием
Старый 29.01.2013, 23:59   #6
Faton 11
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 74
По умолчанию

Как раз возник такой вопрос, смотрю - а ответ уже есть =) Спасибо!
Faton 11 вне форума Ответить с цитированием
Старый 10.01.2014, 17:04   #7
iDima
Пользователь
 
Регистрация: 30.12.2012
Сообщений: 19
По умолчанию

Всегда пожалуйста.
iDima вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Записать все слова строки Т в одномерный массив. Jekasso Паскаль, Turbo Pascal, PascalABC.NET 2 22.01.2013 16:59
Дан текст, состоящий из букв и пробелов, слова разделяются пробелом. Поменять первую и вторую букву каждого слова. danteone Помощь студентам 6 21.05.2012 12:31
Паскаль.Как рассматривать каждую букву в строке в отдельности? Soffi Помощь студентам 1 18.03.2011 23:23
Как в паскале рассматривать каждую букву в строке по отдельности? Soffi Помощь студентам 4 18.03.2011 18:49
считать поочередно каждую строчку и записать в батовский файл elplado Паскаль, Turbo Pascal, PascalABC.NET 3 16.11.2008 17:29