Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа со строкой. 
:(
    Опции темы
stat007
Дата 17.1.2009, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 521
Регистрация: 9.10.2008

Репутация: -2
Всего: -4



Ребят помогите разораться!
Есть программа, которая создаёт файл и дописывает в него данные введённый с клавиатеры. Однако она записывает 2 слова в виде массива! Ка объявить строку string, что бы можно было ввести несколько слов??? 

Код

#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    char num[30], name[30];
    ofstream output("Base.txt", ios::app);         
    cin>>num>>name;
    cout<<"Danie zaneseni v file!"<<endl;
    output<<num<<" "<<name<<endl;
    return 0;
}

PM MAIL   Вверх
pan2004
Дата 17.1.2009, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: 2
Всего: 9



Не пойму что нужно)
Два варианта:
1. Создать массив char*(или vector<string>) и записывать в него сколько надо слов в цикле
2. Использовать cin.get() cin.getline() чтобы не разбивалось на отдельные слова


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
mes
Дата 17.1.2009, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(stat007 @  17.1.2009,  21:02 Найти цитируемый пост)
Ка объявить строку string, что бы можно было ввести несколько слов??? 

Вопрос не понят.. Что мешает вводить слова через пробел ? 
 smile 

P.S. а для строки на Cpp использовать предпочтительнее  std::string нежели char *;

Добавлено через 2 минуты и 7 секунд
Цитата(pan2004 @  17.1.2009,  21:25 Найти цитируемый пост)
Не пойму что нужно)

 smile  ура..я не одинок )) 


--------------------
PM MAIL WWW   Вверх
stat007
Дата 17.1.2009, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 521
Регистрация: 9.10.2008

Репутация: -2
Всего: -4



Цитата

Не пойму что нужно)

Просто нужно объявить не так: 
Код

char num[30], name[30];

а просто:
Код

string st;

Цитата

 Использовать cin.get() cin.getline() чтобы не разбивалось на отдельные слова

Пытался, так всё верно, но в файл незаписывает!
PM MAIL   Вверх
mes
Дата 17.1.2009, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(stat007 @  17.1.2009,  21:36 Найти цитируемый пост)
Просто нужно объявить не так: 
а просто:


Ну и что мешает ? Чем полнее Вы сформулируете свой вопрос, тем точнее и быстрее Вам сможет помочь кто нибудь из форумчан.

см подпись ниже ответившего.  smile 

Это сообщение отредактировал(а) mes - 18.1.2009, 01:23


--------------------
PM MAIL WWW   Вверх
bsa
Дата 18.1.2009, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



stat007
Код
std::string num, name;
std::getline(std::cin, num);
std::getline(std::cin, name);

PM   Вверх
stat007
Дата 18.1.2009, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 521
Регистрация: 9.10.2008

Репутация: -2
Всего: -4



спасибо bsa, теперь всё нормально!!

Тема закрыта!  smile 
PM MAIL   Вверх
bsa
Дата 18.1.2009, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



stat007

M
bsa
Если вопрос исчерпан, то пометь тему решенной

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0551 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.