Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Аналог AnsiString в char 
V
    Опции темы
Alca
Дата 2.10.2007, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



Среда Builder C++ 6.00.

Как перевести (тоже самое, только с char):

Код

void __fastcall TForm1::btnStartClick(TObject *Sender) {
    AnsiString asStr1 = "";    //<---   asStr1 должно быть char (т.е. szStr1)
    AnsiString asTemp = "";
    for (int i = 0; i < 10; i ++) {
        sprintf(asTemp.c_str(), "%s", "00\n");
        asStr1 = asStr1 + asTemp.c_str();
    }
    ShowMessage(asStr1);
}



Это сообщение отредактировал(а) Alca - 2.10.2007, 17:43


--------------------
PM WWW ICQ Skype Jabber   Вверх
dumb
Дата 2.10.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 32
Всего: 158



Цитата(Alca @  2.10.2007,  18:40 Найти цитируемый пост)
sprintf(asTemp.c_str(), "%s", "00\n");
мдя...
если я правильно понял, что ты хотел(а вопрос ты сформулировал весьма непонятно), то:
Код

    char szStr1[256] = "";
    char szTemp[256];
    for (int i = 0; i < 10; i++) {
        sprintf(szTemp, "%s", "00\n");
        strcat(szStr1, szTemp);
    }
    ShowMessage(szStr1);

PM MAIL   Вверх
smoke_man
Дата 2.10.2007, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 25.1.2007
Где: Рязань

Репутация: 9
Всего: 17



Все можно сделать гораздо проще:
Код

char *str = "Hello Word!";
char s[15] = "Hello";
ShowMessage(AnsiString(str)+" "+AnsiString(s));



--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
Fazil6
Дата 2.10.2007, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 11
Всего: 60



Цитата(smoke_man @  2.10.2007,  19:29 Найти цитируемый пост)
Все можно сделать гораздо проще:

Да ? по твоему это тоже самое? и если уж говорить о "гораздо проще" то тогда уж твой примет должен быть
Код

ShowMessage("Hello Word! Hello");


Это сообщение отредактировал(а) Fazil6 - 2.10.2007, 20:18
PM MAIL   Вверх
smoke_man
Дата 2.10.2007, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 25.1.2007
Где: Рязань

Репутация: 9
Всего: 17



Fazil6, а что разве я не прав?Alca  спросил как преобразовать - я показал.


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
Fazil6
Дата 2.10.2007, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 11
Всего: 60



Цитата(smoke_man @  2.10.2007,  20:22 Найти цитируемый пост)
Fazil6, а что разве я не прав?Alca  спросил как преобразовать - я показал.

что ты показал? По твоему 
Код

char *str = "Hello Word!"; 

str можно  использовать как строковую переменную? 

PM MAIL   Вверх
smoke_man
Дата 2.10.2007, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 25.1.2007
Где: Рязань

Репутация: 9
Всего: 17



А что разве нельзя?


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
Fazil6
Дата 2.10.2007, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 11
Всего: 60



Цитата(smoke_man @  2.10.2007,  20:44 Найти цитируемый пост)
А что разве нельзя?

а разве можно?
Код

char *str = "Hello Word!"; 
char s[15] = "Hello";

sprintf(str, "%s", "00\n");
strcat(str, s);
 

PM MAIL   Вверх
smoke_man
Дата 2.10.2007, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 25.1.2007
Где: Рязань

Репутация: 9
Всего: 17



Fazil6, ты что имеешь в виду? Приведенный мною пример полностью работает. Ты работаешь с массивом char, а я привел к типу AnsiString, что тоже  является корректным.



--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
Fazil6
Дата 2.10.2007, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 11
Всего: 60



Цитата(smoke_man @  2.10.2007,  21:33 Найти цитируемый пост)
Fazil6, ты что имеешь в виду? Приведенный мною пример полностью работает. Ты работаешь с массивом char, а я привел к типу AnsiString, что тоже  является корректным.

 smile 

 ты писал?
Цитата(smoke_man @  2.10.2007,  19:29 Найти цитируемый пост)
Все можно сделать гораздо проще:

а теперь прочитай первый пост и вопрос в нем и попробуй объяснить что именно можно сделать гораздо проще по твоему образцу

Добавлено через 2 минуты и 23 секунды
Цитата(smoke_man @  2.10.2007,  21:33 Найти цитируемый пост)
Ты работаешь с массивом char

где я работаю с массивом char? По твоему это
Код

char *str = "Hello Word!"; 
char s[15] = "Hello";

sprintf(str, "%s", "00\n");
strcat(str, s);

будет работать? Это к вопросу можно ли str использовать как переменную
PM MAIL   Вверх
smoke_man
Дата 2.10.2007, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 25.1.2007
Где: Рязань

Репутация: 9
Всего: 17



Цитата

а теперь прочитай первый пост и вопрос в нем и попробуй объяснить что именно можно сделать гораздо проще по твоему образцу

С этим я полностью согласен - не сразу понял что он хочет сделать, но как говорится уже поздно пить баржоми.

Цитата

где я работаю с массивом char? 


А ты хочешь сказать, что char *  не указатель на массив символов?

А разве этот код не будет работать?
Код

//---------------------------------------------------------------------------
#include "stdio.h"
#include "string.h"
#include "conio.h"
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
    char *str = "Hello Word!";
    char s[15] = "Hello";
    sprintf(str, "%s", "00\n");
    strcat(str, s);

    printf(str);
    getch();
    return 0;
}
//---------------------------------------------------------------------------



--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
Fazil6
Дата 2.10.2007, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 11
Всего: 60



Цитата(smoke_man @  2.10.2007,  23:01 Найти цитируемый пост)
А разве этот код не будет работать?

с точки зрения языка этот код некоректен. Если твой Буилдер не падает на нем, то это еще ничего не значит.

Добавлено @ 23:34
Цитата(smoke_man @  2.10.2007,  23:01 Найти цитируемый пост)
А ты хочешь сказать, что char *  не указатель на массив символов?

нет. это указатель на char. Указатель на массив символов(допустим фиксированного размера) выглядит примерно вот так
Код

char (*p)[32];


Это сообщение отредактировал(а) Fazil6 - 2.10.2007, 23:36
PM MAIL   Вверх
smoke_man
Дата 2.10.2007, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 25.1.2007
Где: Рязань

Репутация: 9
Всего: 17



  smile  за интересный разговор. Но я думаю пора прекращать наши разногласия.


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
Alca
Дата 3.10.2007, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



Всем спасибо.


--------------------
PM WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0570 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.