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

Как конвертировать текст в число - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
18.08.2011, 19:54     Как конвертировать текст в число #1
Вообще у меня такой вопрос хочу с текстового файла взять символы, всё получается только вот для работы нужно конвертировать текст в число, только как я незнаю вот код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
f=fopen("1.txt","r");
if(f==0) ShowMessage("Файл не найден");
    for(int i=0;i<10;i++)
    {
        for(int j=0;j<11;j++)
        {
            b=StrToInt(f);
            a[i][j]=fgetc(f);
 
            ShowMessage(a[i][j]);
            if(a[i][j]==0) Image1->Canvas->Draw(i,j,bmpT);
        }
    }
fclose(f);
вот ошибка

E2034 Cannot convert 'FILE *' to 'UnicodeString' - тут говорится что нелезя конвертить файл в юникод
E2342 Type mismatch in parameter 'S' (wanted 'const UnicodeString', got 'FILE *')

Хотелось бы ещё узнать какой тип строки у FILE, и какой функцией можно определять тип строк...
и кроме всего чем отличаются | String; AnsiString; UnicodeString; TStringList|, заранее прошу простить за столь большой и может кому покажется лёгкий вопрос, буду очень благодарен за ответ

Добавлено через 1 час 8 минут
Помогите кто нибудь, нужна помощь очень сильно...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soft.creator
 Аватар для soft.creator
103 / 103 / 4
Регистрация: 17.10.2010
Сообщений: 283
18.08.2011, 20:10     Как конвертировать текст в число #2
Давайте начнем с простого - а что Вы хотите реализовать?
Вот это
C++
1
2
3
4
5
                        b=StrToInt(f);        // <--- а для чего это надо?
                        a[i][j]=fgetc(f);      
 
                        ShowMessage(a[i][j]);    // <--- точно хотите одиночный символ вывести?
                        if(a[i][j]==0) Image1->Canvas->Draw(i,j,bmpT);
мне мозг сломало
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
18.08.2011, 20:26  [ТС]     Как конвертировать текст в число #3
Цитата Сообщение от soft.creator Посмотреть сообщение
мне мозг сломало


Цитата Сообщение от soft.creator Посмотреть сообщение
b=StrToInt(f); // <--- а для чего это надо?
Из за ошибки я понял что надо просто конвертировать число в текст, тоесть хотел записать в переменную b
Я даже проверил через ShowMessage в данном случае в переменной A a[i][j]=fgetc(f); находятся ASCII коды, а не сами символы, а мне нужно в числа преобразовать текст
-=ЮрА=-
Заблокирован
Автор FAQ
18.08.2011, 20:40     Как конвертировать текст в число #4
вот так:
C++
1
2
в int : atoi(a[i]);
в double : atof(a[i])
;

Для работы необходим stdlib.h

Добавлено через 3 минуты
Подправил код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int ival;
double dval;
if(!(f=fopen("1.txt","r")))
    ShowMessage("Файл не найден");
else
{
        for(int i=0;i<10;i++)
        {
                for(int j=0;j<11;j++)
                {
                        a[i][j]=fgetc(f);
                        if(a[i][j]==0) 
            Image1->Canvas->Draw(i,j,bmpT);
                }
        ival = atoi(a[i]);
        dval = atof(a[i]);
        }
    fclose(f);
}
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
18.08.2011, 21:31  [ТС]     Как конвертировать текст в число #5
Спасибо конечн, но мне бы хотелось как нибудь через конвертацию если можно
-=ЮрА=-
Заблокирован
Автор FAQ
18.08.2011, 21:52     Как конвертировать текст в число #6
Цитата Сообщение от GoldDragon Посмотреть сообщение
но мне бы хотелось как нибудь через конвертацию если можно
- что ты под этим подразумеваешь, свою функцию???
Алгоритм иожет быть такой строка, если нет запятых - значит целое число, подсчитали длину - длина - 1 степень числа, пробераем каждую цифру сконца и при переходе к следующей *10
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
18.08.2011, 21:57  [ТС]     Как конвертировать текст в число #7
Всё со строкой я разобрался, только почему он мне за место цифры из текста выдаёт Аски код, заместо 1- 49 а 0-48
-=ЮрА=-
Заблокирован
Автор FAQ
19.08.2011, 09:17     Как конвертировать текст в число #8
Цитата Сообщение от GoldDragon Посмотреть сообщение
Всё со строкой я разобрался, только почему он мне за место цифры из текста выдаёт Аски код, заместо 1- 49 а 0-48
потому что ты int a[10][10] написал, а нужно char a[10][10].
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2011, 09:22     Как конвертировать текст в число
Еще ссылки по теме:

Как конвертировать указатель c C++ на Java? C++
C++ как изображения конвертировать в текстовый файл
160 битное значение, представляющее целое число, конвертировать в string в десятичном представлении C++

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

Или воспользуйтесь поиском по форуму:
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
19.08.2011, 09:22  [ТС]     Как конвертировать текст в число #9
Всё я уже понял вчера сделал, до чего приводит моя невнимательность
Тема закончена!
Yandex
Объявления
19.08.2011, 09:22     Как конвертировать текст в число
Ответ Создать тему
Опции темы

Текущее время: 15:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru