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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2008, 23:45   #1
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию считывание информации

Хочу что бы программа считывала предложение с текстового файла, и помещала его в переменную, но не вышло.

Компилятор ошибку выдает, мол неизвестно, что такое string
Код:
'string' undeclared (first use this function)
вот кусочек программы

...
string text[50];
ifstream src("test.txt");
src >> text;
...

Заранее спасибо
Артэс вне форума Ответить с цитированием
Старый 11.02.2008, 10:52   #2
Alek86
Форумчанин
 
Регистрация: 25.09.2007
Сообщений: 189
По умолчанию

я вот тоже не знаю, что такое string

а что это?
Alek86 вне форума Ответить с цитированием
Старый 11.02.2008, 10:58   #3
Sota
Let's keep talking
Форумчанин Подтвердите свой е-майл
 
Аватар для Sota
 
Регистрация: 02.07.2007
Сообщений: 217
По умолчанию

А действительно, что? Может Артэс предложит весь исходный код для просмотра?
Лучше С++, чем ++С...
Sota вне форума Ответить с цитированием
Старый 11.02.2008, 18:42   #4
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию

Код:
#include <iostream.h>
#include <windows.h>
#include <conio.h>
#include <fstream.h>
char bufRus[256];
char*Rus(const char*text)
{
     CharToOem(text, bufRus);
     return bufRus;
}
main()
{
string text[50];
ifstream src("file.txt");
src >> text;
printf (Rus (text));
getch();
}
А как вообще тогда объявить тип переменной string и дать ей название text? что бы в нее предложения помещать.

Последний раз редактировалось Артэс; 11.02.2008 в 18:55.
Артэс вне форума Ответить с цитированием
Старый 11.02.2008, 19:04   #5
Alek86
Форумчанин
 
Регистрация: 25.09.2007
Сообщений: 189
По умолчанию

если ты в турбопаскале древнем, то я не советчик
ежели ты в нормальной среде, то
1. #include <iostream.h> поменяй на #include <iostream>
а #include <fstream.h> - на #include <fstream>
добавь #include <string>
2. допиши после инклудов
Код:
using std::cin;
using std::cout;
using std::ifstream;
using std::string;
3. что делает этот код?
Код:
string text[50];  
ifstream src("file.txt");
src >> text;
std::string так не умеет...
если ты хотел записать весь файл в std::string, то для этого есть другой способ.
гы, выберу посложнее, чтоб и ты чуток покумекал
Код:
std::ifstream f("test.txt");
std::string fileData((std::istreambuf_iterator<char>( f )),(std::istreambuf_iterator<char>()) );
Alek86 вне форума Ответить с цитированием
Старый 11.02.2008, 20:00   #6
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию

А если только одну строку?
Артэс вне форума Ответить с цитированием
Старый 11.02.2008, 20:02   #7
Alek86
Форумчанин
 
Регистрация: 25.09.2007
Сообщений: 189
По умолчанию

тогда
Код:
getline(f, fileData)
должно работать
Alek86 вне форума Ответить с цитированием
Старый 11.02.2008, 20:11   #8
Sota
Let's keep talking
Форумчанин Подтвердите свой е-майл
 
Аватар для Sota
 
Регистрация: 02.07.2007
Сообщений: 217
По умолчанию

если тебе надо просто строку в массив запехнуть(с клавы), то используй вот это:
Код:
#include <iostream>
#include <conio.h>
using namespace std;
int main() {
char text[100];
gets(text);
cout << endl << text << endl;
getch();
return 0; }
Лучше С++, чем ++С...
Sota вне форума Ответить с цитированием
Старый 11.02.2008, 20:17   #9
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию

Так. С помещением содержимого всего файла в переменную получилось. Спасибо

А вот по поводу getline не понял. Заместо чего вставлять надо? попробывал несколько вариантов, неудачно(
Артэс вне форума Ответить с цитированием
Старый 11.02.2008, 20:24   #10
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию

Sota, спасибо за пример. Я его немного изменил, и он стал по меньше. Работает прекрасно. А в чем тогда разница?
Код:
#include <iostream.h>
#include <conio.h>
int main() {
char text[100];
gets(text);
cout << text;
getch();
return 0;}
Артэс вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
считывание из СОМ(или USB) порта voron29 Общие вопросы Delphi 1 29.06.2008 13:09
считывание с edit 1g2h Общие вопросы Delphi 2 27.06.2008 08:50
Считывание из Excelя Gladiator Общие вопросы Delphi 0 19.05.2008 21:10
Считывание символов AI01 Общие вопросы C/C++ 5 01.03.2008 17:30
Считывание из файла DimkinStd Общие вопросы Delphi 7 24.01.2007 19:18