草庐IT

CHAR_LENGTH

全部标签

java - 为什么 new String ("") 编译而 char c = '' 不编译?

为什么空字符串有效而空字符无效?我原以为空字符串不是字符串,而只是占位符。对于char也是如此,但创建一个空char甚至无法编译。我想知道为什么会发生以下情况-编译-Strings="";不编译-charc=''; 最佳答案 因为char代表单个字符,而''不是。字符串可以包含零个或多个字符,但一个字符只能是单个字符。 关于java-为什么newString("")编译而charc=''不编译?,我们在StackOverflow上找到一个类似的问题: http

java - 全包字符集以避免 "java.nio.charset.MalformedInputException: Input length = 1"?

我正在用Java创建一个简单的字数统计程序,它可以读取目录中基于文本的文件。但是,我不断收到错误:java.nio.charset.MalformedInputException:Inputlength=1从这行代码:BufferedReaderreader=Files.newBufferedReader(file,Charset.forName("UTF-8"));我知道我可能会得到这个,因为我使用了一个Charset,它不包含文本文件中的某些字符,其中一些包含其他语言的字符。但我想包括这些字符。我后来在JavaDocs学到了Charset是可选的,仅用于更有效地读取文件,因此我将代

java - 全包字符集以避免 "java.nio.charset.MalformedInputException: Input length = 1"?

我正在用Java创建一个简单的字数统计程序,它可以读取目录中基于文本的文件。但是,我不断收到错误:java.nio.charset.MalformedInputException:Inputlength=1从这行代码:BufferedReaderreader=Files.newBufferedReader(file,Charset.forName("UTF-8"));我知道我可能会得到这个,因为我使用了一个Charset,它不包含文本文件中的某些字符,其中一些包含其他语言的字符。但我想包括这些字符。我后来在JavaDocs学到了Charset是可选的,仅用于更有效地读取文件,因此我将代

java - 在Java中,两个字符相加的结果是int还是char?

当添加'a'+'b'时会产生195。输出数据类型是char还是int? 最佳答案 添加Java字符、短裤或字节的结果是int:JavaLanguageSpecificationonBinaryNumericPromotion:Ifanyoftheoperandsisofareferencetype,unboxingconversion(§5.1.8)isperformed.Then:Ifeitheroperandisoftypedouble,theotherisconvertedtodouble.Otherwise,ifeither

java - 在Java中,两个字符相加的结果是int还是char?

当添加'a'+'b'时会产生195。输出数据类型是char还是int? 最佳答案 添加Java字符、短裤或字节的结果是int:JavaLanguageSpecificationonBinaryNumericPromotion:Ifanyoftheoperandsisofareferencetype,unboxingconversion(§5.1.8)isperformed.Then:Ifeitheroperandisoftypedouble,theotherisconvertedtodouble.Otherwise,ifeither

c++ - 允许将 "const char*"分配给 std::string,但分配给 std::wstring 不会编译。为什么?

我假设std::wstring和std::string都提供或多或少相同的接口(interface)。所以我尝试为我们的应用程序启用unicode功能#ifdefAPP_USE_UNICODEtypedefstd::wstringAppStringType;#elsetypedefstd::stringAppStringType;#endif但是,当使用-DAPP_USE_UNICODE时,这会给我带来很多编译错误。事实证明,当将constchar[]分配给std::wstring时,编译器会阻塞。编辑:通过删除文字“hello”的使用改进了示例。#includevoidmyfunc(

c++ - 类型双关、char[] 和取消引用

我有一个旨在存储用户定义数据(即来自插件)的结构。它有一个这样的char[],它具有给定的最大大小来存储该数据。structA{//othermembersomitted//datameanttobetypepunned,onlycontainsPODschardata[256];};然后是一个示例用户结构,它有一个静态函数,可以从A转换自身。structB{inti;doubled;staticB&FromA_ref(A&a){//static_assertthatsizeof(B)(a.data);}};我用g++-O3-std=c++0x-Wall-otesttest.cpp(G

ios - 没有得到 String 中 char 的正确索引

我有一个像“Whatisitinrain”这样的字符串我需要在每个需要通过键盘输入的字符下添加闪烁。所以我使用[characterAtIndex]..找到了角色。但是当我到达“it”中的i时,使用[characterAtIndex:i]找到i的索引,它返回5。在字符串中必须是8。如何获取字符串中下一个重复字符的正确索引?代码:-(int)getCurrentIndexOfChar:(unichar)cinstring:(NSString*)str{for(inti=0;i 最佳答案 请试试这个NSString*main=@"This

c++ - char* 如何成为 for 循环中的条件?

在我正在阅读的一本书中有一段代码:stringx;size_th=0;for(constchar*s=x.c_str();*s;++s)h=(h*17)^*s;关于这段代码,我有两个问题:*s如何成为条件?这是什么意思?"h=(h*17)^*s"是什么意思?感谢您的帮助! 最佳答案 howcan*sbeacondition?whatdoesitmean?意思是“s指向的值不为零。”C字符串以null结尾,因此c_str()返回的字符串中的最后一个字符将是空字符(\0,由所有位零表示)。whatdoes"h=(h*17)^*s"mea

c++ - 使用 wcstombs_s 将 std::wstring 转换为 char*

我有只包含数字的输入字符串(只是普通的拉丁数字,0-9,例如“0123”),存储为std::wstring,我需要每个字符串作为char*。对我来说最好的方法是什么?这是我最初的方法:voidtype::convertWStringToCharPtr(_In_std::wstringinput,_Out_char*outputString){outputString=newchar[outputSize];size_tcharsConverted=0;constwchar_t*inputW=input.c_str();wcstombs_s(&charsConverted,outputS