Форум программистов, компьютерный форум CyberForum.ru

string - C++

Восстановить пароль Регистрация
 
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
03.03.2013, 13:23     string #1
Возможно чтобы было вот такое подобное? Т.е. чтобы под каждым индексом было по 2 элемента.
str[0] ="aa";
str[1] ="ff";
str[2] = "awfd";
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Silvestr1994
 Аватар для Silvestr1994
27 / 27 / 1
Регистрация: 26.10.2012
Сообщений: 101
03.03.2013, 13:26     string #2
да ето возможно и не только два
C++
1
char *str[20] или char str[20][20]
denike
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 7
03.03.2013, 13:28     string #3
Цитата Сообщение от Silvestr1994 Посмотреть сообщение
да ето возможно и не только два
но как???
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
03.03.2013, 13:30  [ТС]     string #4
Я тоже думаю что невозможно, если только иметь vector<string> то тогда да. Вроде как string тоже массив и под каждым индексом должен храниться только один элемент, не так ли?
denike
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 7
03.03.2013, 13:34     string #5
Цитата Сообщение от The_bolT Посмотреть сообщение
Я тоже думаю что невозможно, если только иметь vector<string> то тогда да. Вроде как string тоже массив и под каждым индексом должен храниться только один элемент, не так ли?
На практике это нереально. Стринг - это массив, но массив, состоящий из символов: то есть в одной ячейке должен хранится лишь один символ. Выше сказанное - это тоже, что в массив целого типа запихнуть константу пи.
Silvestr1994
 Аватар для Silvestr1994
27 / 27 / 1
Регистрация: 26.10.2012
Сообщений: 101
03.03.2013, 13:37     string #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <iostream>
 
using namespace std;
 
int main()
{
    char *str[20];
    str[0] = ("poplpo");
    str[1] = ("asdjhasdbdkh");
    cout<<str[0]<<endl;
    cout<<str[1]<<endl;
    return 0;
}
Добавлено через 2 минуты
прошу вот все записивает
denike
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 7
03.03.2013, 13:38     string #7
Цитата Сообщение от Silvestr1994 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <iostream>
 
using namespace std;
 
int main()
{
    char *str[20];
    str[0] = ("poplpo");
    str[1] = ("asdjhasdbdkh");
    cout<<str[0]<<endl;
    cout<<str[1]<<endl;
    return 0;
}
Добавлено через 2 минуты
прошу вот все записивает
Так str в данном случае выходит массивом, а не строкой!
Silvestr1994
 Аватар для Silvestr1994
27 / 27 / 1
Регистрация: 26.10.2012
Сообщений: 101
03.03.2013, 13:41     string #8
хорошо ну а он как написал:
str[0] ="aa";
str[1] ="ff";
str[2] = "awfd";
вот ето же масив)))
denike
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 7
03.03.2013, 13:44     string #9
Цитата Сообщение от Silvestr1994 Посмотреть сообщение
хорошо ну а он как написал:
str[0] ="aa";
str[1] ="ff";
str[2] = "awfd";
вот ето же масив)))
ахахах) Действительно) Но если суть вопроса была о типе стринг, тогда ответ нет)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2013, 13:53     string
Еще ссылки по теме:

C++ 'string' : undeclared identifier, std::string
Как сравнить введенную string с константой string C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
palva
 Аватар для palva
2373 / 1595 / 190
Регистрация: 08.06.2007
Сообщений: 6,364
Записей в блоге: 4
03.03.2013, 13:53     string #10
Просто не очень понятен вопрос, и к тому же в заголовке написано string
Если str описан как
C++
1
string str[3];
то все присваивания возможны. Недолго набросать код и убедиться.
Если же str строка и имеет достаточную длину, например
C++
1
string str="123456";
То можно присвоить символ, но строку присвоить невозможно, даже односимвольную
C++
1
2
str[3] ='a';
str[3] ="a"; // ошибка компиляции
Но так делать все равно не надо, поскольку при недостаточной длине строки получите ошибку периода выполнения. string имет свои безопасные методы работы с ним.
Yandex
Объявления
03.03.2013, 13:53     string
Ответ Создать тему
Опции темы

Текущее время: 13:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru