【发布时间】:2018-03-31 12:24:09
【问题描述】:
我在c++98 中使用std::strncpy 将一部分字符数组复制到另一个字符数组。似乎需要手动添加结束字符'\0',才能正确终止字符串。
如下,如果不明确将'\0'附加到num1,char数组后面可能有其他字符。
char buffer[] = "tag1=123456789!!!tag2=111222333!!!10=240";
char num1[10];
std::strncpy(num1, buffer+5, 9);
num1[9] = '\0';
还有比这更好的方法吗?我想做一步操作来达到这个目标。
【问题讨论】:
-
使用
std::string。 -
string.substr会帮助你。 -
tbh 这在 c++98 中也是可能的。我仍然在工作中写它
-
“我想有一个一步操作来达到这个目标”然后写一个实现你目标的函数,并调用它。
-
@Swift 他们使用 DOS 模拟器,如果可以解决问题的话