草庐IT

c++ - 使用 char 数组反转字符串 C++

我编写了一个简单的C++程序来反转字符串。我将字符串存储在字符数组中。要反转字符串,我使用相同的字符数组和临时变量来交换数组的字符。#include#includeusingnamespacestd;voidreverseChar(char*str);charstr[50],rstr[50];inti,n;intmain(){cout现在这个方法不起作用,我在程序执行后得到NULL字符串。所以我想知道为什么我不能等同于字符数组,为什么这个程序不能工作。我可以使用什么解决方案或技巧来使相同的程序运行? 最佳答案 sizeof(str)

c++ - 有一个 strlen 和一个 wcslen,但是否有类似 strlen<char> 或 strlen<wchar_t> 的模板函数?

有一个strlen和一个wcslen函数,但是有一个模板字符数组长度函数,所以你可以做一些类似strlen的事情或strlen?如果没有,那我想我会自己写。 最佳答案 你有std::string使用的char_traits助手。它提供char_traits::length和char_traits::length. 关于c++-有一个strlen和一个wcslen,但是否有类似strlen或strlen的模板函数?,我们在StackOverflow上找到一个类似的问题:

c++ - 有一个 strlen 和一个 wcslen,但是否有类似 strlen<char> 或 strlen<wchar_t> 的模板函数?

有一个strlen和一个wcslen函数,但是有一个模板字符数组长度函数,所以你可以做一些类似strlen的事情或strlen?如果没有,那我想我会自己写。 最佳答案 你有std::string使用的char_traits助手。它提供char_traits::length和char_traits::length. 关于c++-有一个strlen和一个wcslen,但是否有类似strlen或strlen的模板函数?,我们在StackOverflow上找到一个类似的问题:

c++ - 如何拥有 "constexpr and runtime"别名

Consexpr对于编译优化非常有用。比如……strlen(char*)可以使用....进行预编译constexprinlinesize_tstrlen_constexpr(char*baseChar){return((baseChar[0]==0)?(//if{0)//}:(//else{strlen_constexpr(baseChar+1)+1)//});}优化后它的运行时成本为"0"...但运行时慢了10+x以上//Testresultsranona2010macbookair---------strlen---------Timetookfor100,000runs:1054

c++ - 如何拥有 "constexpr and runtime"别名

Consexpr对于编译优化非常有用。比如……strlen(char*)可以使用....进行预编译constexprinlinesize_tstrlen_constexpr(char*baseChar){return((baseChar[0]==0)?(//if{0)//}:(//else{strlen_constexpr(baseChar+1)+1)//});}优化后它的运行时成本为"0"...但运行时慢了10+x以上//Testresultsranona2010macbookair---------strlen---------Timetookfor100,000runs:1054

c++ - 为什么我的(重新)实现 strlen 是错误的?

我想出了这个小代码,但所有专业人士都说它很危险,我不应该写这样的代码。谁能在“更多”细节中强调其漏洞?intstrlen(char*s){return(*s)?1+strlen(s+1):0;} 最佳答案 它本身没有漏洞,这是完全正确的代码。当然,这是过早的悲观。除了最短的字符串,它会耗尽堆栈空间,而且由于递归调用,它的性能会很差,但除此之外没关系。尾调用优化很可能无法处理此类代码。如果你想过着危险的生活并依赖尾调用优化,你应该改写它以使用尾调用://note:size_tisanunsignedintegertypeintstrl

c++ - UTF-8、sprintf、strlen 等

我试图了解如何在C++中处理基本的UTF-8操作。假设我们有这样的场景:用户输入一个名称,它被限制在10个字母(用户语言中的符号,而不是字节),它被存储。在ASCII中可以这样做。//ASCIIchar*input;//user'sinputcharbuf[11]//10letters+zerosnprintf(buf,11,"%s",input);buf[10]=0;intlen=strlen(buf);//return10(correct)现在,如何使用UTF-8编码?假设它最多为4个字节的字符集(如中文)。//UTF-8char*input;//user'sinputcharbu

php - 警告:strlen()期望参数1为字符串,给定[duplicate]数组

可能重复:mysql_fetch_array()expectsparameter1toberesource,booleangiveninselect我要把我的网站移到一个新的主机上。以前的php版本是5.2,现在是5.3。在我更改了php版本之后,几乎每页都会显示警告:strlen()expectsparameter1tobestring,arraygiven错误行是此函数中的第三行:functionimplodestr($arr,$field){unset($out_str);if(!is_array($arr)||!$arr||strlen($arr)==0)return0;//e

php - mb_strlen() 够了吗?

在PHP中计算UTF-8字符串的长度时,我使用mb_strlen()。例如:if(mb_strlen($name,'UTF-8')由于文本字段可以接受任何语言(多语言),我想确保PHP能够正确计算多语言UTF-8字符。这是否足够,还是我需要使用其他方法?我担心PHP可能会因为某些原因出错,或者我只是持怀疑态度,但我不希望人们绕过重要的验证,因为PHP出错了。 最佳答案 正确if(mb_strlen($name,'UTF-8')确保标题正确HTTP-header(Content-Type:text/html;charset=UTF-8

php - PHP 中的 $str == '' 和 strlen($str) == 0 有区别吗?

正如标题所说:PHP中$str==''和strlen($str)==0有区别吗?是否存在任何真正的速度差异,一个比另一个更好用? 最佳答案 我发现直接做更清楚“if(!$str)”..不确定'=='但'!'应该能够产生更好的优化技术,因为从未进行过类型转换,并且对字符串、数组、bool值、数字......是安全的...... 关于php-PHP中的$str==''和strlen($str)==0有区别吗?,我们在StackOverflow上找到一个类似的问题: