我试图将LPCSTR转换成使用atoi(a)的惯犯,并核实转换过程是否成功,我想计算一下它所生产的立体中的数和最初的LPCSTR(它不应只包含ger)
我很难找到一个很好的方法来计算太平洋共同体秘书处的规模。 迄今为止,唯一办法似乎是在我收到0票之前就算出。
任何关于改进方法的建议?
增 编
我试图将LPCSTR转换成使用atoi(a)的惯犯,并核实转换过程是否成功,我想计算一下它所生产的立体中的数和最初的LPCSTR(它不应只包含ger)
我很难找到一个很好的方法来计算太平洋共同体秘书处的规模。 迄今为止,唯一办法似乎是在我收到0票之前就算出。
任何关于改进方法的建议?
增 编
难道这还不是len?
为找到<strlen(<>/code>)。 资料来源:http://msdn.microsoft.com/en-us/library/windows/desktop/ms6492%28v=vs.85%29.aspx“rel=” 页: 1
您可使用>strtol
,并使用endptr
返回,以核对在座标(0 byte)的末尾。
计算不一定准确。 “00”将产生0,但0有1位数,原体长度为2。
Nope。
这说明你是如何找到长篇的。 您可使用<代码>strlen,但仍须在>
之前缩小整个方位数并计算其特性。
关于生产热量大于光的会谈...... 停止使用玩具,这将解决你的大部分问题。 atoi是无实际价值的致命功能。 将代表人数转为代表的适当方式是从斯特鲁到......集团(斯特鲁托勒、斯特鲁托勒等)的职能。 这些职能将退还给你足够的信息,以确定是否发生了换算错误。
LPCSTR lpText = "test";
long lTextLen = CString(lpText).GetLength();
我只字不提——用投入开始一个阵列,读一个星体,然后检查该溪流是否空:
#include <sstream>
#include <iostream>
typedef char const *LPCSTR;
template <class T>
bool check_read(LPCSTR input, T &val) {
std::istringstream reader(input);
reader >> val;
char ch;
if (reader >> ch) {
std::cerr << "
Unconverted character: " << ch << std::endl;
return false;
}
return true;
}
int main() {
LPCSTR inputs[] = {"12345", "54321a"};
int a;
for (int i=0; i<2; i++) {
check_read(inputs[i], a);
std::cout << "Converted: " << a << std::endl;
}
return 0;
}
另一种合理的可能性是图形或表象。 这些人回到了第一个无争议的特性(如果有的话),因此他们非常直接地告诉你什么是和什么是被转换的。 它们比溪流更快捷,但总体上不太灵活——例如,如果你想要读一个浮点号码,上述检查——将按需要进行,但需要改写一些使用斜体的检查。
还有一种可能性是,你可能会考虑布斯塔法-播种(包裹很少,但大致上与上述法典相似)。
由于<代码>LPCSTR只是const char*
(在de-macroing之后),strlen
将予罚款。
但是,如果你在窗口职能明确定义后与<代码>LPCSTR输入相匹配,那么你可使用<代码>lstrlenA。 我严重怀疑存在任何实际的分歧,称之为“<条码>>。