Avatar ·

Como converter std::string para const char* ou char* em C++?

Olá a todos! Acabei de começar a estudar C++ e me deparei com um problema ao trabalhar com strings. Tenho uma variável do tipo `std::string` e preciso passá-la para uma função que espera `const char*` ou `char*`. Por exemplo, estou tentando abrir um arquivo usando a função `fopen()`, mas ela não aceita `std::string`. Aqui está meu código:\n\n```cpp\n#include \n#include \n#include \n\nint main() {\n std::string filename = "data.txt";\n FILE* file = fopen(filename, "r"); // Erro de compilação!\n if (file) {\n std::cout << "File opened successfully" << std::endl;\n fclose(file);\n }\n return 0;\n}\n```\n\nO compilador gera o erro: `cannot convert 'std::string' to 'const char*'`. Eu entendo que `std::string` e `const char*` são tipos diferentes, mas como convertê-los?