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

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

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

массив string - C++

25.07.2011, 13:08. Просмотров 2694. Ответов 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?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
30.07.2011, 10:35     массив string #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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mayonez
 Аватар для Mayonez
380 / 272 / 20
Регистрация: 26.12.2009
Сообщений: 875
31.07.2011, 16:54  [ТС]     массив string #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;
}
тоесть просто добавить в конец массива строку, котрая наверняка будет последней
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2011, 09:16     массив string
Еще ссылки по теме:

Преобразовать string в массив char C++
Преобразовать string в массив byte[] C++
Динамический массив string и его вывод C++
Как вписать string в массив? C++
Преобразование из string в массив char C++

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

Или воспользуйтесь поиском по форуму:
diagon
Higher
 Аватар для diagon
1921 / 1187 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
01.08.2011, 09:16     массив string #23
Все проще
C++
1
2
3
4
5
#include <iostream>
int main(){
    std::string str("123");
    std::cout << std::distance( str.begin(), str.end() );
}
Тьфу. Не прочитал, что массив...
Yandex
Объявления
01.08.2011, 09:16     массив string
Ответ Создать тему
Опции темы

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