我正在编写一个程序,它从 .ini 文件中读取一个值,然后将该值传递给一个接受 PCSTR(即 const char *)的函数。功能是getaddrinfo()
。
所以,我想写PCSTR ReadFromIni()
。要返回一个常量字符串,我计划使用分配内存malloc()
并将内存转换为常量字符串。我将能够获得从 .ini 文件中读取的确切字符数。
那个技术好吗?我真的不知道还能做什么。
以下示例在 Visual Studio 2013 中运行良好,并根据需要打印出“hello”。
const char * m()
{
char * c = (char *)malloc(6 * sizeof(char));
c = "hello";
return (const char *)c;
}
int main(int argc, char * argv[])
{
const char * d = m();
std::cout << d; // use PCSTR
}