20得票2回答
哪些语言标准允许在固定大小的数组中忽略空终止符?

我们正在将C代码转换为C++。 我注意到以下代码在C中定义良好,int main(){ //length is valid. '\0' is ignored char str[3]="abc"; } 根据数组初始化所述: "如果数组的大小是已知的,它可能比字符串字面量的大小...

20得票3回答
比较两个char*是否相等

可能是重复问题: 如何比较两个C风格的字符串? 我的匹配条件不起作用了!有人能指导一下如何比较两个C风格的字符串吗?void saveData(string line, char* data){ char *testString = new char[800]; ...

20得票18回答
为什么在C++中使用C字符串?

现在在C++中使用C字符串有什么好的理由吗?我的教科书在某些地方使用它们作为示例,但我真的觉得使用std::string会更容易。

20得票4回答
正确的复制C字符串方法

有没有一种简单的方法来复制C字符串? 我有一个const char *stringA,我想让char *stringB获取这个值(请注意,stringB不是const)。我尝试了stringB=(char*) stringA,但这使得stringB仍然指向同一个内存位置,所以当stringA...

18得票4回答
将C风格字符串转换为C++风格字符串

请问有人能告诉我如何在C++程序中将C风格字符串(即char*)转换为C++风格字符串(即std::string)吗? 非常感谢。

18得票4回答
strtol和strtod是否安全?

看起来,strtol()和strtod()有效地允许(并强制)你将一个字符串的const属性转换掉:#include <stdlib.h> #include <stdio.h> int main() { const char *foo = "Hello, worl...

18得票4回答
在C语言中打印字符串的一部分

有没有办法只打印字符串的一部分? 例如,如果我有这样一个字符串:char *str = "hello there"; 有没有一种方法可以只打印"hello",请注意我想要打印的子字符串是可变长度的,不总是5个字符? 我知道我可以使用for循环和putchar或者复制数组然后添加空终止符,但...

17得票4回答
如果我在使用GetBuffer后不调用ReleaseBuffer会发生什么?

从CString转为char*后,必须在GetBuffer()之后使用ReleaseBuffer()。但是为什么呢?如果我不在GetBuffer()之后使用ReleaseBuffer()会发生什么? 有人能给我一个例子吗?谢谢。

16得票5回答
什么时候/为什么需要使用'\0'来标记(char)数组的结束?

我刚刚读到一个关于如何创建代表字符串的字符数组的例子。 将空字符\0放置在数组末尾以标记数组的结尾。这是必要的吗? 如果我创建了一个字符数组:char line[100]; 并放置这个单词:"hello\n" 在其中,字符将被放置在前六个索引line[0] - line[6],所以数组的...

16得票3回答
将Qt默认编码设置为UTF-8。

在我的Qt应用程序中,我的源代码文件编码为UTF-8。 对于以下代码...QMessageBox::critical(this, "Nepoznata pogreška", "Dogodila se nepoznata pogreška! Želite li zatvoriti ovaj pr...