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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2011, 13:27   #1
Алиса Ростова
 
Аватар для Алиса Ростова
 
Регистрация: 03.12.2011
Сообщений: 7
По умолчанию перевести с строкого типа в char

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
AnsiString* strSplit(AnsiString buf, char delim, int &n)
{
n = 1;
for (int i = 1; i <= buf.Length(); i++)
if (buf[i] == delim) // считаем число символов delim
n++;
AnsiString* res = new AnsiString[n];

for (int j = 0; j < n; j++)
{
int p = buf.Pos(delim);

if (p == 0)
p = buf.Length()+1;

res[j] = buf.SubString(1,p - 1);
buf.Delete(1, p);
}
return res;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int num = 0;
int n;

if (RadioButton1->Checked)
{
AnsiString abc = "йцк";
AnsiString s = Memo1->Text;

AnsiString* str = strSplit(s, ' ', n); // получаем массив слов
for (int j = 0; j < n; j++)
for (int k = 1; k <= abc.Length(); k++)
if (str[j][1] == abc[k])
{
num++;
break;
}
delete [] str;
}
if (RadioButton2->Checked)
{
AnsiString abc = "нгш";
AnsiString s = Memo1->Text;

AnsiString* str = strSplit(s, ' ', n); // получаем массив слов
for (int j = 0; j < n; j++)
for (int k = 1; k <= abc.Length(); k++)
if (str[j][1] == abc[k])
{
num++;
break;
}
delete [] str;
}

ShowMessage("Найдено слов: " + IntToStr(num));
}
//---------------------------------------------------------------------------

void __fastcall TForm1::RadioButton1Click(TObject *Sender)
{
int num = 0;
int n;

AnsiString abc = "йцк";
AnsiString s = Memo1->Text;

AnsiString* str = strSplit(s, ' ', n); // получаем массив слов
for (int j = 0; j < n; j++)
for (int k = 1; k <= abc.Length(); k++)
if (str[j][1] == abc[k])
{
num++;
break;
}
delete [] str;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RadioButton2Click(TObject *Sender)
{

int num = 0;
int n;

AnsiString abc = "нгш";
AnsiString s = Memo1->Text;

AnsiString* str = strSplit(s, ' ', n); // получаем массив слов
for (int j = 0; j < n; j++)
for (int k = 1; k <= abc.Length(); k++)
if (str[j][1] == abc[k])
{
num++;
break;
}
delete [] str;
}

заранее спасибо))
Алиса Ростова вне форума Ответить с цитированием
Старый 22.12.2011, 14:29   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Что перевести? Куда перевести? Зачем перевести?
Код:
char x;
AnsiString str;
x = str.c_str();
Так пойдёт?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 22.12.2011, 14:39   #3
Алиса Ростова
 
Аватар для Алиса Ростова
 
Регистрация: 03.12.2011
Сообщений: 7
По умолчанию

да, так...а можно точнее)))буду очень благодарна))
Алиса Ростова вне форума Ответить с цитированием
Старый 22.12.2011, 15:06   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Алиса Ростова Посмотреть сообщение
да, так...а можно точнее)))буду очень благодарна))
Да куда уж точнее-то?
Алиса. Я конечно экстрасенс неплохой, но не до такой же степени. Если сформулировать не можете, чего хотите, дайте хотя-бы точный адрес где Вы находитесь. Я уж постараюсь прочитать Ваши мысли .
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 22.12.2011, 20:50   #5
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Что перевести? Куда перевести? Зачем перевести?
Код:
char x;
AnsiString str;
x = str.c_str();
Так пойдёт?
Не пойдет, так будет ошибка.
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли в массив типа char записать первым элементом значение переменной типа float? Green Gin Общие вопросы C/C++ 2 05.12.2011 01:50
Запись числа типа инт в ячейку двумерного массива типа char AxenicX Помощь студентам 1 25.09.2009 00:35
Как перевести char в int? TwiX Общие вопросы C/C++ 4 17.09.2009 11:52
Как перевести Sting в Char? vitamin.rulez Помощь студентам 7 13.12.2008 15:42
Как перевести int в char в C? Dantes_1986 Общие вопросы C/C++ 4 25.12.2007 11:31