Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 14.01.2013, 16:08   #1
Vlad9999
Пользователь
 
Регистрация: 14.01.2013
Сообщений: 33
Репутация: 15
По умолчанию Строки в структурах

Добрый день, объясните пожалуйста мне - начинающему, как в структуре можно обратиться к строке. Например структура:

PHP код:
struct Record
{
bool aktiv;
int check_period;
bool port[10];
char Program_name[20];
int day;
int mes;
int ned;
int imp_on;
int imp_off;
TDateTime start;
TDateTime stop;
}
Programs
Присвоение

PHP код:
Programs.Program_name="aaa"
не проходит, хотя присвоение одиночного символа, например:

PHP код:
Programs.Program_name[2]='a'
без проблем.
Vlad9999 вне форума   Ответить с цитированием
Старый 14.01.2013, 16:16   #2
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Адрес: Донецк
Сообщений: 224
Репутация: 15
По умолчанию

Во втором случае работает потому, что строка воспринимается как массив. В первом случае можно использовать strcpy или strncpy.
__________________
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума   Ответить с цитированием
Старый 14.01.2013, 16:24   #3
Vlad9999
Пользователь
 
Регистрация: 14.01.2013
Сообщений: 33
Репутация: 15
По умолчанию

Если не сложно, можно примерчик.

Просто я думал, что есть аналогия:

PHP код:
char Name[20];
Name="aaa"
Так ведь можно.
Vlad9999 вне форума   Ответить с цитированием
Старый 14.01.2013, 16:30   #4
Blind Guard
Форумчанин
 
Регистрация: 14.03.2012
Адрес: Минск
Сообщений: 139
Репутация: 26
По умолчанию

Код:
strcpy(Programs.Program_name,"aaa");
Blind Guard вне форума   Ответить с цитированием
Старый 14.01.2013, 16:42   #5
EUGY
Участник клуба
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Адрес: Мурманск
Сообщений: 913
Репутация: 132
По умолчанию

Цитата:
Сообщение от Vlad9999 Посмотреть сообщение
Если не сложно, можно примерчик.

Просто я думал, что есть аналогия:

PHP код:
char Name[20];
Name="aaa"
Так ведь можно.
Нет, так тоже нельзя.
Только при инициализации
char Name[20] = "aaa";
EUGY вне форума   Ответить с цитированием
Старый 14.01.2013, 16:45   #6
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Адрес: Донецк
Сообщений: 224
Репутация: 15
По умолчанию

и ещё в начале программы


Код:
#include <string.h>
__________________
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума   Ответить с цитированием
Старый 14.01.2013, 17:05   #7
Vlad9999
Пользователь
 
Регистрация: 14.01.2013
Сообщений: 33
Репутация: 15
По умолчанию

Цитата:
Сообщение от EUGY Посмотреть сообщение
Нет, так тоже нельзя.
Только при инициализации
char Name[20] = "aaa";
То есть так:

PHP код:
struct Record Programs={......,"aaa",.....}; 
тоже можно?
Vlad9999 вне форума   Ответить с цитированием
Старый 14.01.2013, 17:08   #8
EUGY
Участник клуба
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Адрес: Мурманск
Сообщений: 913
Репутация: 132
По умолчанию

struct Record Programs={......,"aaa",.....};
Конечно можно.
А можно и конструктор к структуре приделать, если с++ и там инициализировать.

Последний раз редактировалось EUGY; 14.01.2013 в 17:12.
EUGY вне форума   Ответить с цитированием
Старый 14.01.2013, 17:19   #9
Blind Guard
Форумчанин
 
Регистрация: 14.03.2012
Адрес: Минск
Сообщений: 139
Репутация: 26
По умолчанию

Programs у вас уже задан как объект, повторное объявление не нужно.
Код:
Programs={......,"aaa",.....};
Конструктор нужен, с ним легче будет
Blind Guard вне форума   Ответить с цитированием
Старый 14.01.2013, 17:37   #10
Vlad9999
Пользователь
 
Регистрация: 14.01.2013
Сообщений: 33
Репутация: 15
По умолчанию

Теперь дошло. Всем спасибо огромное.

Конструктор - это для меня пока рановато-сложновато.
Vlad9999 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка в структурах[C++] druger Помощь студентам 0 22.03.2012 19:07
не совсем понял пример в методичке о структурах (С++) severest Общие вопросы C/C++ 1 18.04.2011 20:01
Работа с файлами в структурах ХреновыйПрогер Общие вопросы C/C++ 5 23.12.2010 22:46
Массивы и структуры в структурах (Задача в С++) bel_ka Общие вопросы C/C++ 4 16.12.2007 16:31


05:31.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.