Как включить заголовок строки? - PullRequest
28 голосов
/ 05 ноября 2010

Я пытаюсь узнать о string s, но разные источники говорят, что я включаю разные заголовки.

Некоторые говорят, что используют <string.h>, но другие упоминают "apstring.h".Я смог сделать некоторые базовые вещи с apstring, но мне сказали, что другой более мощный.Когда я включаю <string.h> и пытаюсь объявить некоторые строковые переменные, я получаю ошибки.Как правильно использовать?

Ответы [ 8 ]

61 голосов
/ 05 ноября 2010

Вы хотите включить <string> и использовать std::string:

#include <string>
#include <iostream>

int main()
{
    std::string s = "a string";
    std::cout << s << std::endl;
}

Но что вам действительно нужно, так это получить книгу начального уровня . Вы не будете учиться как-либо иначе, конечно же, не ищите информацию в Интернете.

11 голосов
/ 05 ноября 2010

Источники, указывающие на использование apstring.h, являются материалами для курса Advanced Placement в области компьютерных наук. В нем описан строковый класс, который вы будете использовать в курсе, и некоторые вопросы экзамена могут относиться к нему и ожидать, что вы будете в среднем знакомы с ним. Если вы не зарегистрированы в этом классе или не учитесь сдавать этот экзамен, игнорируйте эти источники.

Источники, говорящие вам об использовании string.h, либо на самом деле не говорят о C ++, либо сильно устарели. Вы, вероятно, должны игнорировать их тоже. Этот заголовок предназначен для функций C для манипулирования массивами символов с нулевым символом в конце, также известными как строки в стиле C.

В C ++ вы должны использовать заголовок строки. Напишите #include <string> вверху вашего файла. Когда вы объявляете переменную, типом является string, и он находится в пространстве имен std, поэтому его полное имя - std::string. Вы можете избежать постоянной записи части пространства имен этого имени, следуя примеру большого количества вводных текстов и произнося using namespace std вверху исходных файлов C ++ (но обычно не вверху любых заголовочных файлов, которые вы можете написать).

6 голосов
/ 05 ноября 2010

Я не слышал о "apstring". Если вы хотите использовать строку с c ++, вы можете сделать так:

#include<string>
using namespace std;
int main()
{
   string str;
   cin>>str;
   cout<<str;
   ...
   return 0;
}

Я надеюсь, что это поможет

4 голосов
/ 05 ноября 2010

Строковый класс C ++ - std::string. Для его использования необходимо включить заголовок <string>.

Для ознакомления с основами использования std::string, вам нужно обратиться к хорошей вводной книге по C ++ .

3 голосов
/ 05 ноября 2010

Вы не должны использовать string.h, если вы пишете код на C ++. Строки в C ++ имеют разновидность std::string, которая намного проще в использовании, чем старые "строки" в стиле C. Использование:

#include <string>

чтобы получить правильную информацию и что-то std::string s, чтобы объявить ее. Много замечательных способов использования std::string можно увидеть здесь .

Если вы посмотрите на большое количество вопросов по переполнению стека, касающихся использования строк C, вы поймете, почему вам следует избегать их, где это возможно: -)

1 голос
/ 05 ноября 2010

"apstring" не является стандартным C ++, в C ++ вы хотите использовать <string> класс

0 голосов
/ 05 ноября 2010

Используйте это:

#include < string>
0 голосов
/ 05 ноября 2010

Может быть, эта ссылка поможет вам.

См .: std :: строка документации .

#include <string> является наиболее широко принятым.

...