如果我有一个可以容纳 100 个字符的 std::vector 缓冲区,并且我调用一个 C 函数,它将写入一个 NULL 终止的字符串,就像writestring(&buffer[0], buffer.size())
我读过的那样,如果缓冲区中已经有数据,那就没问题了。但如果向量为空,则行为未定义。我该如何解决这个问题,我可以向缓冲区写入一些东西,比如“qwerty”,然后调用 writestring() 以便我知道行为总是被定义的吗?你们在调用 C 函数时使用什么样的存储?我刚刚阅读了有关 .data 的信息,但我不知道它有多常见或可移植。
谢谢