草庐IT

hex_char

全部标签

c++ - 缺少关于 "int main(int argc, char* argv[])"的知识

我是一名物理学家,通常我只想完成计算,这就是我真正需要的。不过我一直在用intmain(intargc,char*argv[])非常令人高兴的是二进制文件在我没想到的级别上变得灵活,即初始化变量~$./program.exeabc(a,bandcarenumbersinthiscase,notlettersok?)所以问题是*如何在不使用文件的情况下以这种方式(或其他方式)“解析”或“传输”事物?*示例:假设“a.exe”给出了一组“X-Y”点(就像在电子表格上一样),我要将其插入“b.exe”。或者说我使用bash/awk脚本来格式化“a.exe”的输出格式,以便在gnuplot上绘

c++ - 如何将 char 数组放入 std::string

我分配了一个char数组然后我需要将它作为一个字符串返回,但我不想复制这个char数组然后释放它的内存。char*value=newchar[required];f(name,required,value,NULL);//fillthearraystrResult->assign(value,required);delete[]value;我不想像上面那样做。我需要将数组放在std字符串容器中。我该怎么做?编辑1:我知道我不应该这样做,并且该字符串不是为此目的而设计的。MB有人知道我可以使用的char数组的另一个容器实现吗? 最佳答案

c++ - 如何将 unsigned int 放入 char 数组并将其提取回来

有人可以解释为什么这不起作用吗?我正在尝试将一个unsignedint放入一个char缓冲区,然后将其取回另一个unsignedint。1#include2#include3intmain(){4unsignedinttester=320;5charbuffer[512];6memset(buffer,0,512);7memcpy(buffer,&tester,sizeof(unsignedint));8/*buffer[0]|=tester;9buffer[1]|=(tester>>8);10buffer[2]|=(tester>>16);11buffer[3]|=(tester>>

c++ - 删除 char* 进行字节转换

每次读取文件时,我都尝试使用不同长度的字节来读取二进制文件。获得值后,我尝试将字节转换为char*。我创建了一个简单的代码如下://ThiscodeiscompiledinVisualStudio2010typedefunsignedcharBYTE;BYTE*s;s=newBYTE[3];//Iread2bytesfromthefile,Iadd+1toreserveNULLs[0]='a';s[1]='b';s[2]=NULL;//justanexampleIget2bytesfromfilechar*b;b=newchar(sizeof(s));strcpy(b,(char*)s

c++ - 如何将 char* 转换为 TCHAR[ ]?

这个问题在这里已经有了答案:ConvertchartoTCHAR*argv[](2个答案)关闭9年前。char*stheParameterFileName=argv[1];//I'mpassingthefilenameasaparameter.TCHARszName[512];如何将char*转换为TCHAR[]?

c++ - const char * 和文字字符串有什么区别?

我正在处理一个具有QT小部件的表单,我必须在QTextEdit字段中设置一些值。我不得不调用一个声明如下的函数:voidSDB::setDescription(constchar*Description);当我用这个方法调用它时(i)constchar*desc=saveOptionsDesLineEditBox->text().toStdString().c_str();SDB::setDescription(desc);它在小部件的文本框中显示无法识别的符号。但是通过第二种方法调用(ii)SDB::setDescription(saveOptionsDesLineEditBox->

c# - 为什么要在 char 上使用定界符?基于c的

前几天我在用C#编写一些代码,这让我开始思考。如果char文字只能有1个字符(或定界字符),那么为什么我们需要结束定界符?比如目前我们需要这样写:charcharacter='s';而且在任何情况下(显然)这都行不通:charcharacter='sa';那为什么我们要结束'而不是暗示呢?例如:charcharacter='s;charanotherCharacter='\';可读性只会受到影响,因为我们已经习惯了当前的标准(不一定是因为这种方式的可读性较差)。 最佳答案 这是约定在这个unicode世界中,字符不一定表示为一个字符

c++ - 为什么可以在 C++ char* 中放入多个字符

我不知道这是怎么回事。//Thisdoesn'twork(obviously)chara;a="aaa";//Thisworkschar*a;a="aaa";这是怎么回事?既然char类型只存储一个字符或1个字节数,当您通过指针访问它时,如何在其中存储更多字符? 最佳答案 您没有将字符放入char*中。您正在编译器确定的内存部分中创建一个字符数组,并将char*指向该数组的第一个字符。数组实际上是const,因此您不能将其分配给非const指针。但由于历史原因,你仍然可以在许多C++实现中。然而,它在C++11中被正式定为非法。

c++ - 用 uint8_t 或 char 来表示按字节排列的二进制数据哪个更好?

我喜欢uint8_t,因为我觉得它的意图(二进制数据,而不是字符)表达得更好。但是,有许多我可能想要调用的基于字符的I/O函数。只是想知道是否有人们遵守的最佳实践?这是我第一次涉足字节级I/O。 最佳答案 char的问题是它可能是有符号类型(范围至少为-127..+127)或无符号类型(范围至少为0..255)。unsignedchar比普通的好char用于面向二进制字节的数据。uint8_t,如果存在,将具有与unsignedchar相同的范围和表示形式,并且可能只是同一类型的另一个名称。请注意,C++(如C)将字节定义为给定系统

c++ - 使用 malloc() 为 const char 字符串动态分配内存

我正在编写一个程序,它从.ini文件中读取一个值,然后将该值传递给一个接受PCSTR(即constchar*)的函数。函数是getaddrinfo()。所以,我想写PCSTRReadFromIni()。要返回常量字符串,我计划使用malloc()分配内存并将内存转换为常量字符串。我将能够获得从.ini文件中读取的确切字符数。这种技术可以吗?我真的不知道还能做什么。以下示例在VisualStudio2013中运行良好,并根据需要打印出“hello”。constchar*m(){char*c=(char*)malloc(6*sizeof(char));c="hello";return(co