小编San*_*mar的帖子

C++中不区分大小写的标准字符串比较

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).问题是这与我的工作方式有何关系.

c++ string substr

7
推荐指数
1
解决办法
5万
查看次数

如何查找变量中的字节数?

可能重复:
如何确定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

谢谢

python

1
推荐指数
1
解决办法
1802
查看次数

std :: string声明的函数不会抱怨返回char*

这不是我的计划,所以不要开始指责我:-).我得到了一些随机程序.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)

并摆脱语法错误,但真的想了解这种奇怪的行为.

c++ string

1
推荐指数
1
解决办法
171
查看次数

标签 统计

c++ ×2

string ×2

python ×1

substr ×1