Я в настоящее время использую
char *thisvar = "stringcontenthere";
объявить строку в C.
Действительно ли это - лучший способ объявить строку в C?
Как насчет того, чтобы генерировать струну до от C ++-Strings?
В соответствии с другими предложениями, и я хочу "сделать это" способом C ++
, используйте std :: string
.
Если вам так или иначе нужна C-строка
, std :: string
имеет метод, который дает const char *
.
Вот пример:
#include <iostream>
#include <string>
void dummyFunction(const char* str)
{
// Do something
}
int main(int, char**)
{
std::string str = "hello world!";
dummyFunction(str.c_str());
return EXIT_SUCCESS;
}
В C это зависит от того, как вы будете использовать строку:
char * str = "string";
метод в порядке (но должен быть char const *
) char str [] = "строка";
char * str = strdup ("string");
, и убедитесь, что в конечном итоге он получит free
d. Если это не покрывает этот вопрос, попробуйте добавить к своему ответу более подробные сведения.
Это C или C ++? В C ++ вы должны использовать std :: string
:
std::string aString("stringcontenthere");