Anything related to `c_str` method of class `std::basic_string` of C++ standard library.
4 ответа

Что такое использование функции C_str() в C/C++

Кто-нибудь может сказать мне, как использовать функцию c_str() в C/C++?. В каком случае это нужно использовать?
08 ноя '11 в 07:02
5 ответов

.c_str() странность? Данные изменяются без рифмы или причины?

У меня есть эта простая функция: const wchar_t *StringManager::GetWCharTStar(int stringId) { std::wstring originalString = StringManager::GetString(stringId); const wchar_t *retStr = originalString.c_str(); return retStr; } Во второй строке этой фун…
07 дек '09 в 17:36
1 ответ

Присвоение c_str() строке

У меня есть проблема, которую я не могу решить самостоятельно. string filenameRaw; filenameRaw= argv[1]; function(filenameRaw.c_str(),...); function(const char* rawDataFile,const char* targetfieldFile,const char* resultFile,const char* filename) ...…
22 май '13 в 09:57
2 ответа

C_str() или reinterpret_cast лучше для работы с двоичными файлами?

Мне нужно работать с бинарными файлами в программе, и я видел, как использовался reinterpret_cast, а также c_str (). Вот фрагмент кода с использованием c_str(): fstream aFile; string sample = "hello this is a line of code"; aFile.open("newFile.bin",…
23 янв '19 в 00:41
4 ответа

Возвращение c_str из функции

Это из небольшой библиотеки, которую я нашел в Интернете: const char* GetHandStateBrief(const PostFlopState* state) { static std::ostringstream out; // ... rest of the function ... return out.str().c_str() } В моем коде я делаю это: const char *d = …
17 апр '10 в 04:03
3 ответа

Строка C++, сформированная путем копирования индексных символов из другой уже инициализированной строки. Невозможно напечатать недавно сформированную строку, используя cout

В C++ я создал новую строку (класс строки), скопировав символы с указанием индекса из другой строки (класс строки), которая уже была инициализирована. Но я не могу распечатать эту новую строку на экране, используя cout, С помощью c_str() Я могу расп…
28 сен '16 в 13:45
2 ответа

C++: почему ввод строки не выполняется, а другой нет

Я получил эту проблему от друга #include <string> #include <vector> #include <iostream> void riddle(std::string input) { auto strings = std::vector<std::string>{}; strings.push_back(input); auto raw = strings[0].c_str(); stri…
21 фев '19 в 03:45
1 ответ

Как функция std::string c_str() возвращает завершающуюся нулем строку?

Я не могу понять, если char *, возвращенный из string.c_str(), указывает на тот же буфер (и не делает никакой копии), как это завершается нулем? функция добавляет нулевой терминатор в конце строки? и что будет, если в буфере нет лишних байтов для ег…
13 июн '18 в 09:22
1 ответ

Нужно ли включать <cstring> и <stdlib.h> для функций c_str(), atoi и atof?

Я использую c_str(), atoi а также atof функции для преобразования строковых переменных в целочисленные или с плавающей / двойной. Например, val = atoi(val1.c_str()); val = atof(val1.c_str()); Итак, я хотел бы знать, если мне нужно включить и. Благод…
06 июл '14 в 08:30
3 ответа

C++ c_str() не возвращает полную строку

Я делаю присваивание C++, которое требует ввода пользователем выражения (например, 2 * (6-1) + 2) и вывода результата. Все работает правильно, если в пользовательском вводе не встречается пробел. Требуется передать пользовательский ввод следующему м…
08 апр '14 в 13:04
3 ответа

Разница в спецификации функции c_str между C++03 и C++11

В C++ ссылка c_str() в std::string появляется следующее: Возвращаемое значение Указатель на базовое хранилище символов.data()[i] == operator[](i) for every i in [0, size()) (до C++11) data() + i == &amp;operator[](i) for every i in [0, size()] (начи…
20 авг '17 в 12:40
2 ответа

Преобразование strstream в sstream конфликт о c_str()

У меня есть этот блок кода, как написано с strstream, И я преобразовал это в sstream как ниже. Я не уверен, но я думаю printStream-&gt;str() возвращает строковый объект с копией (временной) содержимого в буфере потока, указанного printStreamи тогда …
20 окт '17 в 09:27
1 ответ

Как посмотреть тип ENUM по заданной строке?

У меня есть класс enum, как это: class ContentTypeEnum { public: // it might have more types enum Code { TEXT, XML, APPLICATION_JSON}; static const char* to_c_str(unsigned); }; Я использовал это в своем коде, как сейчас. ContentTypeEnum::APPLICATION…
21 апр '15 в 21:56
4 ответа

c_str() против data(), когда дело доходит до возвращаемого типа

После C++ 11 я подумал о c_str() а также data() эквивалентно C++17 вводит перегрузку для последнего, которая возвращает неконстантный указатель ( ссылка, которая, я не уверен, полностью ли она обновлена ​​по сравнению с C++17): const CharT* data() c…
27 ноя '18 в 13:03
0 ответов

fstream и c_str(): c_str не работает

Я недавно работал над программой, и я пытался использовать System::String^, чтобы использовать ее для файла ofstream... Я всегда получаю сообщение об ошибке...Примечание. Это форма, поэтому это заголовочный файл. Это мой код...(одна часть) System::S…
27 мар '12 в 20:16
1 ответ

Почему c_str не работает в этом открытом (имя файла) случае

Я думал, что понял необходимость приведения std::string как *char при открытии файла, но я что-то упустил. Компилируется нормально но не открывается. Перепробовал несколько вариантов, но пока работает только жесткое кодирование имени в файле: // con…
26 ноя '13 в 15:33
2 ответа

Функция VC++ string::c_str(): адрес первого байта был установлен в 0 (сравните с g++)

Я столкнулся со странной проблемой при попытке получить результат функции строки c_str() чей результат несовместим с g++. Существует функция с именем Test, которая возвращает экземпляр строки. И я хочу использовать char* Тип для сохранения результат…
04 авг '13 в 15:37
6 ответов

Строка c_str() против данных ()

Я прочитал несколько мест, что разница между c_str() а также data() (в STL и других реализациях) заключается в том, что c_str() всегда заканчивается нулем data() не является. Насколько я видел в реальных реализациях, они либо делают то же самое, либ…
11 окт '08 в 20:59
1 ответ

Ошибка при попытке преобразовать строковый символ в int

У меня есть простая программа, где я хочу сохранить входные данные в матрицах для легкого доступа. У меня проблемы с преобразованием простого строкового символа в int, может кто-нибудь объяснить, почему мой код выдает мне это сообщение, когда я пыта…
23 дек '14 в 03:41
5 ответов

C++ toString() с помощью sprintf()

В C++ я пытаюсь реализовать функцию toString() для моего класса: void ClassName::toString(string&amp; returnString) { sprintf(returnString.c_str(), "Position: (%f, %f, %f)\n", position.x, position.y, position.y); } Однако я продолжаю получать эту ош…
09 авг '12 в 22:16