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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2008, 18:17   #1
juden
Пользователь
 
Аватар для juden
 
Регистрация: 28.03.2007
Сообщений: 67
По умолчанию из AnsiString в Char[]

есть код:
Цитата:
char s;
s = *Edit1->Text.c_str();
почему в s помещается токо первый символ?
Проблема не в том могут ли машины думать, а в том - делают ли это люди?
B. F. Skinner
juden вне форума Ответить с цитированием
Старый 17.05.2008, 18:19   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

А сколько их туда должно поместиться, если размер переменной типа char - один байт?
B_N вне форума Ответить с цитированием
Старый 17.05.2008, 18:32   #3
juden
Пользователь
 
Аватар для juden
 
Регистрация: 28.03.2007
Сообщений: 67
По умолчанию

а как исправить?
Проблема не в том могут ли машины думать, а в том - делают ли это люди?
B. F. Skinner
juden вне форума Ответить с цитированием
Старый 17.05.2008, 18:37   #4
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

А что Вы хотите сделать? Если получить строку, значит объявляйте не целочисленную переменную char, а строку C++ и присваивайте ей, или указатель на char и выделяйте под него память, или массив char'ов и записывайте в него строковыми функциями.
B_N вне форума Ответить с цитированием
Старый 17.05.2008, 18:49   #5
juden
Пользователь
 
Аватар для juden
 
Регистрация: 28.03.2007
Сообщений: 67
По умолчанию

мне надо сторку из AnsiString перевести в char, а у меня не получается. может есть другой способ конвертирования, но я не знаю. может напишешь как это сделать, если можно кодом. плиз.

и еще один вопрос:
как при создании класса переменной типа чар выделить определенный объем памяти?
Проблема не в том могут ли машины думать, а в том - делают ли это люди?
B. F. Skinner

Последний раз редактировалось juden; 17.05.2008 в 19:49.
juden вне форума Ответить с цитированием
Старый 20.05.2008, 07:40   #6
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Студенту как-то делал.

Код:
#include "iostream.h"
#include "conio.h"
#include "string.h"

int main()
{
   char *ch;
   string s;

   cout << "Input string -> ";
   cin >> s;

   ch = new char[ s.length() + 1 ];

   for(int i = 0; i < s.length(); i++)
   {
      ch[i] = s.at(i);
   }

   cout << endl;

   for(int i = 0; i < s.length(); i++)
   {
        cout << ch[i] << " ";
   }

   cout << endl;

   for(int i = 0; i < s.length(); i++)
   {
        cout << ch[ s.length() - i - 1 ] << " ";
   }

   delete[] ch;

   getch();

   return 0;
}

Последний раз редактировалось merax; 20.05.2008 в 14:16.
merax вне форума Ответить с цитированием
Старый 20.05.2008, 22:49   #7
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Я думаю, программа будет работать лучше, если в начале написать вместо
Код:
#include "iostream.h"
#include "conio.h"
#include "string.h"
вот так
Код:
#include <iostream.h>
#include <conio.h>
#include <string.h>
MaTBeu вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
из char в int llin Общие вопросы C/C++ 13 11.07.2008 06:51
из char в int?? Mika Общие вопросы C/C++ 4 20.06.2008 15:18
Есть таблица - В ней три поля int, char, char нужно чтобы данные заносились в таблицу Mysql Muahahaha PHP 8 27.03.2008 11:17
Тема AnsiString не раскрыта=) chipset Помощь студентам 3 21.02.2008 21:38
Как обьявить переменную типа AnsiString глобально Kocapb Общие вопросы C/C++ 6 19.12.2007 05:05