Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Казус при печати в файл

58K
22 июля 2010 года
IronG
8 / / 22.07.2010
мне нужно вывести в файл строки следующего сссодержания:
object Label1
Left=123 и т.д.

для этого пишу:
fprintf(save, "%s\n", strcat("object ", myLabel->Name.c_str()));
fprintf(save, "%s\n", strcat(" Caption=", myLabel->Caption.c_str()));

но в файле получается такая ерунда:
object Label1
abel1Метка

пробовал без strcat просто строки выводить - работает. Но все дело в том что мне нужно именно склеивать строки, а забивать в отдельные переменные - не вариант.
11
22 июля 2010 года
oxotnik333
2.9K / / 03.08.2007
Цитата:
myLabel


у вас массив лейблов? что означает этот индекс?
ЗЫ: проще через TStringList (предварительно его заполнив) а потом TStringList::SaveToFile(FileName);

58K
22 июля 2010 года
IronG
8 / / 22.07.2010
Цитата: oxotnik333
у вас массив лейблов? что означает этот индекс?
ЗЫ: проще через TStringList (предварительно его заполнив) а потом TStringList::SaveToFile(FileName);


Да это массив. А не расскажете поподробней как заполняется этот StringList?

253
22 июля 2010 года
Proger_XP
1.5K / / 07.08.2004
Ты же можешь использовать format strings, зачем тебе ещё и склеивать их?
 
Код:
fprintf(save, "Caption=%s\n", myLabel->Caption.c_str());


Цитата:
А не расскажете поподробней как заполняется этот StringList?


TStringList это просто список строк, которые добавляются через Add(). Уго удобно загружать из и сохранять в файл через LoadFrom/SaveToFile(), но в твоём варианте по-моему разницы между ним и записью в файл сразу не будет.

11
22 июля 2010 года
oxotnik333
2.9K / / 03.08.2007
Цитата: IronG
Да это массив. А не расскажете поподробней как заполняется этот StringList?


а справка на что?

 
Код:
TStringList *list = new TStringList;
for (int i = 0; i < N; i++)
    list->Add(myLabel->Caption);
list->SaveToFile("MyFile.txt");
delete list:
58K
22 июля 2010 года
IronG
8 / / 22.07.2010
[QUOTE=Proger_XP;328386]Ты же можешь использовать format strings, зачем тебе ещё и склеивать их?
 
Код:
fprintf(save, "Caption=%s\n", myLabel->Caption.c_str());


Ааа, блин, точно!!! Благодарю Proger_XP!! Что-то из головы вылетело. Видимо жара сильно повлияла)))

Благодарю всех за помощь!

З.Ы. А можно ли как-то свойство Parent таким же образом вывести?
11
22 июля 2010 года
oxotnik333
2.9K / / 03.08.2007
Цитата: IronG

З.Ы. А можно ли как-то свойство Parent таким же образом вывести?


Это вообще то указатель на некий класс, на котором контрол лежит. Что конкретно надо вывести?

58K
22 июля 2010 года
IronG
8 / / 22.07.2010
Цитата: oxotnik333
Это вообще то указатель на некий класс, на котором контрол лежит. Что конкретно надо вывести?



Изначально для, например, Label я указываю что Parent=Panel1. Вот именно Panel1 мне и нужно вывести

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог