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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2010, 21:48   #1
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию AnsiString

НЕ могли сказать, почему при считывании из файла в переменную типа AnsiString компилятор выдает ошибку???
вот код:
Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <fstream.h>
#include <iostream.h>
#include <string.h>
void main(){
int i;
AnsiString En[100];
AnsiString Ru[100];
AnsiString Tr;
ifstream enfile;
ifstream rufile;
enfile.open("en.txt");
rufile.open("ru.txt");
if(!enfile){cout<<"\n english file not found ";}
if(!rufile){cout<<"\n russian file not found ";}
while(!enfile.eof()){
        while(!rufile.eof()){
                for(i=0;i<100;i++){
                        enfile>>En[i];
                        rufile>>Ru[i];
                }
        }
}
int mainkey;
while(mainkey!=2){
        cout<<"\n 1:translate 2:exit ";
                cin>>mainkey;
                 if(mainkey==1){
                        cout<<"\n insert english words: ";
                                cin>>Tr;
                        for(i=0;i<100;i++){
                                if(Tr==En[i]){
                                        cout<<"\n translate: "<<Ru[i];
                                }
                        }
                 }
}
system("pause");
}
CodeNOT вне форума Ответить с цитированием
Старый 12.11.2010, 10:31   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Мама мия, зачем же так извращаться??
Забудьте навсегда про VCL в консольных приложениях! Используйте нормальную стандартную строку std::string.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 12.11.2010, 14:38   #3
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

В билдере при визуальном программировании, он не воспринимает строковую переменную, т.е. string Man; т.е. это строка будет работать?
CodeNOT вне форума Ответить с цитированием
Старый 12.11.2010, 16:09   #4
Fog
Пользователь
 
Аватар для Fog
 
Регистрация: 29.08.2010
Сообщений: 76
По умолчанию

AnsiString устарело уже использй UnicodeString вместо него(или просто String).
Если уж тем более на новом билдере пишеш (> Rad Studio 2007).
String man; //будет работать(если првильно вас понял)
Fog вне форума Ответить с цитированием
Старый 12.11.2010, 17:08   #5
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Нормально должно работать (по крайней мере, в плане строк, в компиль не пихал) примерно такой код:
Код:
#include <fstream> //Долой .h для стандартной библиотеки в стандартном C++
#include <iostream>
#include <string.h>
int main(){   //void main - не наш вариант
using namespace std; //Опять же стандартный C++ и стандартное пространство имен std
int i;
string En[100]; //Это std::string
string Ru[100];
string Tr;
ifstream enfile;
ifstream rufile;
enfile.open("en.txt");
rufile.open("ru.txt");
if(!enfile){cout<<"\n english file not found ";}
if(!rufile){cout<<"\n russian file not found ";}
while(!enfile.eof()){
        while(!rufile.eof()){
                for(i=0;i<100;i++){
                        enfile>>En[i];
                        rufile>>Ru[i];
                }
        }
}
int mainkey;
while(mainkey!=2){
        cout<<"\n 1:translate 2:exit ";
                cin>>mainkey;
                 if(mainkey==1){
                        cout<<"\n insert english words: ";
                                cin>>Tr;
                        for(i=0;i<100;i++){
                                if(Tr==En[i]){
                                        cout<<"\n translate: "<<Ru[i];
                                }
                        }
                 }
}
system("pause");
}
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AnsiString -> Аудио файл Assemblerru Общие вопросы C/C++ 4 11.11.2010 19:22
Преобразование типа AnsiString Leo705 Общие вопросы C/C++ 2 20.04.2010 20:51
AnsiString to Int NoF[1]X Общие вопросы C/C++ 4 22.07.2009 00:08
из AnsiString в Char[] juden Общие вопросы C/C++ 6 20.05.2008 22:49
Тема AnsiString не раскрыта=) chipset Помощь студентам 3 21.02.2008 21:38