void
main()
{
std::string str1 = "abracadabra";
std::string str2 = "AbRaCaDaBra";
if (!str1.compare(str2)) {
cout << "Compares"
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?基本上使上述情况不敏感.相关问题我用Google搜索并在这里
http://msdn.microsoft.com/en-us/library/zkcaxw5y.aspx
有一个不区分大小写的方法String :: Compare(str1,str2,Bool).问题是这与我的工作方式有何关系.
可能重复:
如何确定Python中对象的大小?
在C,如果我这样做
USHORT x;
ULONG y;
ULONGLONG yy;
printf("%d %d %d\n", sizeof(x), sizeof(y), sizeof(yy))
Run Code Online (Sandbox Code Playgroud)
输出:2 4 8
如果我这样做,我怎么能用Python得到它
valByte = 0x16
valWord = 0x1234
valDWord = 0x12345678
val64Word = 0x1234567887654321
Run Code Online (Sandbox Code Playgroud)
我期望的输出应该是1,2,4,8
谢谢
这不是我的计划,所以不要开始指责我:-).我得到了一些随机程序.MyFunc()返回一个全局声明的缓冲区.我使用VS2008并没有抱怨
static char buffer[1024];
std::string MyFunc() {
....
....
return buffer;
}
Run Code Online (Sandbox Code Playgroud)
但是当我添加这行代码时
char * ret;
ret = MyFunc()
Run Code Online (Sandbox Code Playgroud)
它抱怨:"错误:没有合适的转换函数从"std :: string"到"char*"存在"
我的问题是为什么编译器现在抱怨?为什么这种语法检查不稳定?再一次,我没有改变MyFunc()的自由.在我的程序中,如果我可以
std::string ret;
ret = MyFunc();
Run Code Online (Sandbox Code Playgroud)
并摆脱语法错误,但真的想了解这种奇怪的行为.