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

Конвертация строкового типа в int - C++

Войти
Регистрация
Восстановить пароль
 
НубаС++
 Аватар для НубаС++
1 / 1 / 1
Регистрация: 25.02.2012
Сообщений: 115
08.03.2012, 11:35     Конвертация строкового типа в int #1
Как из вот этого textBox1->TextChanged сделать переменную типа int ?
я пытался так но не получилось
C++
1
2
3
4
5
6
int x;
x = textBox1->TextChanged;
FILE * fo;
fo = fopen("test.txt","wt");
fscanf( fo, x );
fclose(fo);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2012, 11:35     Конвертация строкового типа в int
Посмотрите здесь:

Конвертация int в char и обратно C++
Конвертация int в char* C++
C++ Выручайте! Данные строкового типа
C++ Не происходит конвертация типа int в float
C++ Описать функцию DecToHex(N) строкового типа
Конвертация из heximal в int C++
Конвертация из int в char C++
Конвертация qint64 в int и обратно C++
C++ Конвертация int в char
Конвертация переменной типа string в массив int C++
Обработка данных строкового типа C++
Сложение чисел строкового типа в столбик C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IFree Host
Заблокирован
08.03.2012, 11:43     Конвертация строкового типа в int #2
В жизни программиста часто возникают ситуации, когда необходимо преобразовать int в char и обратно.
Здесь несколько полезных примеров.

С/С++

Include: stdlib.h или math.h

Функции:

C++
1
2
3
4
double atof( char *string );
int atoi( char *string );
long atol( char *string );
long double _atold( char *string );
Как видно данные функции преобразуют символьную строку в число. Пример:

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream.h>
#include <stdlib.h>
 
int main()
{
char * szString = "0123456789";
int i;
 i = atoi(szString);
 cout<<i;
return 0;
}
Теперь наоборот, число в символьную строку.

char *itoa( int value, char *string, int radix );
char *ltoa( long value, char *string, int radix);
char *ultoa( unsigned long value, char*string, int radix );

Пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream.h>
#include <stdlib.h>
 
int main()
{
char * szString = new char[17];
int i = 1234567890;
 itoa(i,szString,10);
 cout<<szString;
delete szString;
return 0;
}
API
В Api функциях нашел только преобразование из числа в символьную строку:

C++
1
int wsprintf(LPTSTR lpOut, LPCTSTR lpFmt, ...);
Пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream.h>
#include <windows.h>
 
int main()
{
char * szString = new char[17];
int i = 12345;
 wsprintf(szString,"%d",i);
 cout<<szString;
delete szString;
return 0;
}
MFC
В MFC есть очень удобный класс по работе со строками CString, в его составе есть метод Format().

Пример:

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream.h>
#include <afx.h>
 
int main()
{
 CString m_string;
int i = 123456789;
 m_string.Format("%d",i);
 cout<<m_string;
return 0;
}
Здесь описаны не все способы
Serg046
21 / 21 / 2
Регистрация: 07.01.2010
Сообщений: 376
08.03.2012, 11:43     Конвертация строкового типа в int #3
Например вот так.
x = atoi(textBox1->TextChanged);
А еще, если это билдер, то там вроде StrToInt есть.
Gus
 Аватар для Gus
24 / 35 / 2
Регистрация: 17.02.2009
Сообщений: 364
08.03.2012, 11:52     Конвертация строкового типа в int #4
Вот косорукий пример конвертера char to int
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
     int CharToInt(char buff[BUFFSIZE])
      {
      int numb[10];
      int returned;
      int summer;
      int i;
      for(i=0;i<sizeof(buff);i++)
      {
      if(buff[i]='\n'){break;}
      if(buff[i]=='0'){numb[i]=0;}
      if(buff[i]=='1'){numb[i]=1;}
      if(buff[i]=='2'){numb[i]=2;}
      if(buff[i]=='3'){numb[i]=3;}
      if(buff[i]=='4'){numb[i]=4;}
      if(buff[i]=='5'){numb[i]=5;}
      if(buff[i]=='6'){numb[i]=6;}
      if(buff[i]=='7'){numb[i]=7;}
      if(buff[i]=='8'){numb[i]=8;}
      if(buff[i]=='9'){numb[i]=9;}        
      }
      for(int y=0;y<i;y++){summer*=10;}
      for(int x=0;x<i;x++)
      {
      returned+=numb[x]*summer;
      summer=summer/10;
      }
      return returned;
      }
алгоритм его следующий. Сначала, из типа char преобразуются его элементы в int(числа от 0 до 9)
далее, следующий цикл выясняет, сколько разрядов содержит число, то бишь,
дано число 499653
Сначала мы 4 умножим на 105, к нему прибавим 9*104+9*103+6*102+5*101+3
Yandex
Объявления
08.03.2012, 11:52     Конвертация строкового типа в int
Ответ Создать тему
Опции темы

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