c-strings 相关问题

编程语言C中的字符串表示为字符序列,后跟空终止符(表示为\ 0)。

为什么将内存分配给char指针不会截断char序列

我不明白为什么char * ptr = new char [7]不会截断大于7个字符的数据输入。也是为什么为什么8位char c [7]可以让我输入6个以上的字符(但会出现错误...

回答 3 投票 0

关于字符串数据类型如何存储为字节

问题你好!我的问题是关于以字节存储的字符串数据类型值。请参阅下面的代码:有什么问题int main(){字符串名称,名称[6]; std :: cout << [] >> 对于初学者,此语句的输出 std::cout<<sizeof "//n"<<endl; //3 bytes 是4。 在此声明中 std::cout<<sizeof(name)<<endl; 输出类型为std::string的对象的大小。它不是存储在对象中的字符串的大小。要输出字符串的大小,您应该编写 std::cout<<name.size()<<endl; 您将获得0,因为该对象不包含任何字符串。 因此,如果类型为std :: string的对象的大小等于32,则包含6个此类对象的数组的大小为6 * 32 = 192。 在此声明中 std::cout<<sizeof "n"<<endl; 存在一个字符串文字"n"的大小的输出,该字符串包含2个字符({ 'n', '\0' }),包括结尾的零。 并且在此声明中 std::cout<<sizeof "//n"<<endl; 还有一个字符串文字"//n"的大小的输出,该字符串包含4个字符,包括结尾的零。 基本上,std::string对象只不过是指向实际字符串数据 1 的指针,以及有关它包装的字符串的一些信息(例如其当前长度)。可能还有其他特定于实现的数据推高该数字。 并且要了解像"n"这样的字符串文字的大小,您需要了解C ++中的所有字符串文字实际上都是常量字符数组, 包括 字符串空终止符。所以例如"n"实际上是由两个字符组成的数组:'n'字符和'\0'字符串终止符。这意味着您声称sizeof "//n"是三个字节是错误的,实际上是四个字节。 最后,数组的大小是该数组的总大小。换句话说,每个元素的大小乘以元素数。 1 尽管这是std::string的“经典”视图,但它并不总是正确的,因为经常有一种称为短字符串优化的东西,其中短字符串可以完全存储在std::string对象本身内。没有定义“短字符串”的标准化限制,它实际上是实现细节。

回答 2 投票 1

CCombobox字符串插入会产生乱码

我通过扩展CComboBox来实现DrawItem()函数来创建了自定义CCustomCombo。这是它的代码。无效CCustomCombo :: DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct){ASSERT(...

回答 1 投票 0

警告:缺少终止字符“>

我正在制作一个连接到SQL数据库的C ++程序。该查询确实很长,可能不是解决该问题的最佳方法,但这并不重要。此错误是指第一个“ ...

回答 2 投票 1

CString回文测试

我的目标是通过命令行输入,然后我的代码获取输入,进行复制并在我的反向函数中对其进行反向。然后将反向回文作为rev返回。我试过打电话给我的...

回答 2 投票 0

无法从字符构造CString

在VS2008中,我尝试从char构造一个CString,如下所示:CString str = CString(_T('A')+ 5);但是会得到以下编译错误:错误C2440:'':无法从'int'转换为'...

回答 2 投票 0

使用指针填充c字符串数组

对于我的家庭作业,我必须编写一个使用char指针填充c字符串数组的函数。分配的总体目标是熟悉动态内存分配。我是...

回答 1 投票 0

C ++将元字符数组存储在元组中

为什么我不能在std :: pair或boost :: tuple中分配字符数组? typedef std :: pair tuple_type; tuple_type(5,“ abcd”);上面产生以下错误。错误:否...

回答 1 投票 0

用c语言从char数组中加起来的数字

我不熟悉C编程,并试图使程序像这样从输入中累加数字:input = 12345 <= 5位输出= 15 <=累加我试图将char索引转换为.. 。

回答 3 投票 0

当输入的长度超过C字符串数组的大小时,有哪些处理方法?

使用C编程语言,我正在尝试读取字符串输入并将其存储到具有固定大小的char数组中[11]。当我输入超过10个字符时,其余字符将发送到...

回答 1 投票 1

如何在字符串为'\ 0'时结束2D char数组?

我有一个查询用户查询存储在2D char数组中的字符串输入的程序。当输入20个字符串或当用户敲击回车两次时,程序应停止要求输入。 ...

回答 1 投票 0

如何将字符数组用作字符串?

我知道C语言中的字符串只是字符数组。因此,我尝试了以下代码,但给出了奇怪的结果,例如垃圾输出或程序崩溃:#include int main(...

回答 5 投票 8

如何使用字符数组作为字符串?

此帖子旨在用作规范的常见问题解答,以解决张贴者在声明字符串时未能为空终止符分配空间的问题。有人告诉我,C语言中的字符串只是...

回答 4 投票 8

什么是字符串,如何使用它们?

此帖子旨在用作规范的常见问题解答,以解决张贴者在声明字符串时未能为空终止符分配空间的问题。有人告诉我,C语言中的字符串只是...

回答 2 投票 6

什么是字符串以及如何使用它们?

此帖子旨在用作规范的常见问题解答,以解决张贴者在声明字符串时未能为空终止符分配空间的问题。有人告诉我,C语言中的字符串只是...

回答 1 投票 0

在双指针内存储字符串的问题

我一直在进行此代码大战挑战,您必须采取一个字符串,并大写每个字母,形成一个墨西哥波状字符串数组。例如,像hello这样的输入字符串将...

回答 2 投票 1

wscanf()与输入时的scanf()有所不同

我有一个简单的程序,它将用户输入作为字符串并输出输入的字符串。唯一的区别是我为用户提供了两个选项,首先输入一个基本字符串。仅次于...

回答 2 投票 1

如果用户输入太多字符,则创建错误消息

我对编码非常陌生,如果这很简单,我深表歉意。当用户输入的字符多于我的const int SIZE2数组(即20个字符)时,我应该创建一条错误消息。我的数组...

回答 1 投票 -2

是否有安全的方法来断言字符串视图是否为空终止?

我的代码中有一部分广泛使用字符串视图。到处都使用std :: string是不可能的,并且char const *将不起作用,因为存在关联容器,许多...

回答 1 投票 0

如何将char指针字符串从指定的索引开始复制到数组中

我想这样:将一个已知大小的char *字符串复制到一个从特定索引开始的数组中。

回答 2 投票 -3

© www.soinside.com 2019 - 2024. All rights reserved.