С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.91
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
#1

массив string - C++

25.07.2011, 13:08. Просмотров 2908. Ответов 22
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void func(string *mas)
{
//здесь
}
 
int main()
{
string s[] =
{
   "one",
   "two",
   "three"
};
func(s);
}
как в функции узнать сколько элементов содержит переданный ей массив string?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2011, 13:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос массив string (C++):

есть массив char. есть строка string. как присвоить значению string-a значение char-a? - C++
есть массив char. есть строка string. как присвоить значению string-a значение char-a?

Доступ к паре в map<string, vector<pair<string, string>>>Temp - C++
Подскажите пожалуйста как получить данные в векторе пар ? void showData(const map&lt;string, vector&lt;pair&lt;string, string&gt;&gt;&gt;Temp) { ...

String в массив - C++
Нужно из string слова разделенные пробелами занести в массив каждое слово отдельно.Нельзя использовать тип *сhar. Как это сделать и какой...

string массив - C++
Как создать массив в который буду я вводить данные ? Написал не большой код : // Lab_1.cpp : Defines the entry point for the...

string и массив строк - C++
у меня массив строк = 'aaaaaaaa'; = 'xxx()'; = 'ddddd'; = 'eeeeee'; потом нужно вместо потом нужно вместо xxx()...

Fn(string s) - в массив функций - C++
Есть различные функции хэширования string f1(string s) f2(string s) ... fn(string s) как их все вызвать, не нагромождая код? ...

22
fasked
Эксперт С++
4951 / 2531 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
29.07.2011, 16:00 #16
Цитата Сообщение от Mayonez Посмотреть сообщение
тоесть имеется ввиду новый стандарт языка?
Да, списки инициализации это фишка из нового стандарта.
0
-=ЮрА=-
Заблокирован
Автор FAQ
29.07.2011, 16:58 #17
Я реализовывал подобное вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <windows.h>
#include <stdio.h>
 
int func(char ** mas)
{
    int i = 0;
    while(mas[i] != NULL)
        i++;
    return i;
}
 
int main()
{
    char * s[] =
    {
       "one",
       "two",
       "three",
       NULL
    };
    printf("String contain %d substrings\r\n",func(s));
    system("pause");
    return 0;
}
0
Миниатюры
массив string  
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
29.07.2011, 17:00 #18
-=ЮрА=-, почему не обобщенным шаблоном?
0
-=ЮрА=-
Заблокирован
Автор FAQ
29.07.2011, 17:03 #19
Почему char ** вместо string, впринципе ничего не измениться если поставить string
0
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
29.07.2011, 17:08  [ТС] #20
-=ЮрА=-, в том то и дело что изменится...
0
-=ЮрА=-
Заблокирован
Автор FAQ
30.07.2011, 10:35 #21
Сейчас посмотрю...

Добавлено через 17 часов 11 минут
Для стандратного шаблона string возможна такая реализация
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <string>
#include <cstdio>
#include <conio.h>
using std::string;
 
int fun(string * mas)
{
    int i = 0;
    while(strcmp(mas[i].c_str(),"") != 0)
        i++;
    return i;
}
 
int main()
{
    string s [] = 
    {
        "one",
        "two",
        "three",
        ""
    };
    printf("String s  contain %d substrings\r\n",fun(s));
    printf("Press any key to continue");
    getch();
    return 0;
}
0
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
31.07.2011, 16:54  [ТС] #22
-=ЮрА=-,
ну это почти тоже самое что написать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <string>
 
using namespace std;
 
int fun(string *mas)
{
        string end = "this is the end of string massive";
        int i = 0;
        while(mas[i++] != end);
        return i;
}
 
int main()
{
        string s[] = 
        {
                "one",
                "two",
                "three",
                "this is the end of string massive"
        };
        cout << "String s  contain " << fun(s) 
             << " substrings" << endl;
        return 0;
}
тоесть просто добавить в конец массива строку, котрая наверняка будет последней
0
diagon
Higher
1932 / 1198 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
01.08.2011, 09:16 #23
Все проще
C++
1
2
3
4
5
#include <iostream>
int main(){
    std::string str("123");
    std::cout << std::distance( str.begin(), str.end() );
}
Тьфу. Не прочитал, что массив...
0
01.08.2011, 09:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2011, 09:16
Привет! Вот еще темы с ответами:

Присвоить string'y массив char - C++
char name1 = &quot;helloPeople&quot;; std::string name2; name2 = name1; // как можно это реализовать? Причем с массива нужно начать считывать...

Преобразовать string в массив byte[] - C++
Привет. У меня есть строка к примеру &quot;test&quot; в ней 4 байта? Перевести ее в unsigned char это просто каждый символ занести а массив? { 't',...

Чтение из файла в массив string - C++
Есть файл с 50 строками (в конце последней - '\n') и код чтения строк в массив string. При чтении идёт подсчёт считанных строк. Если...

Динамический массив std::string - C++
пользователь ввел число и нужно сделать массив string a где x пользовательское число. string s = new string;// не канает ошибка


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.