问题标签 [string.h]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 使用矩阵排序的字符串
我正在参加一场锦标赛,但我遇到了字符串排序问题。这里我试着解释一下情况:
“一个人发现了一本用未知语言写成的大书,它使用了与英语相同的字符。这本书包含一个简短的索引,但索引中项目的顺序与如果字符被排序的话人们所期望的不同和英文字母表一样。收集者试图用索引来确定奇怪字母表的字符顺序(即整理顺序),然后他开始了这项工作”
当然,我必须制作一个可以帮助那个人的程序。作为输入,我必须向用户询问字母的顺序(我已经解决了这个问题)。每个字符串最多包含 20 个字符。并非所有字母都必须使用,但该列表将暗示使用的字母之间的完整顺序。
我写了这段代码:
我在最后一个循环中有问题,因为它没有给我正确的输出。如果用户键入(例如):
XWY ZX ZXY ZXW YWWX
我的输出应该是“XZYW”。有人有什么建议吗?
string.h - VS2010中的字符串头文件问题
当我在 MS Visual Studio 2010 中包含头文件<string.h>
时,它什么也没说,但是当我在主函数或任何函数中声明一个字符串变量时,它会给出一个智能感知错误,指出该字符串是一个未声明的标识符
该问题的解决方案是什么?
c - 为什么 strcpy(strerror(errno),"Hello") 不复制“Hello”,但 {ptr=strerror(errno);strcpy(ptr,"Hello");} 复制?
请解释以下程序中发生了什么。
我检查了strerror(errno)
程序开始和结束时返回的地址,并确认它每次都返回相同的地址。然后一旦确定这一点,在第一种情况下,我开始分配相同的地址ptr
,然后将字符串复制"Hello"
到它使用strcpy()
.In case II,我尝试"Hello"
直接复制到由.我返回的地址strerror(errno)
。我有奇怪的发现。如果您解释以下内容,我将不胜感激:
万一,我复制"Hello"
到ptr
并且它在随后printf()
的ptr
打印中成功Hello
。但是,当我传递strerror(errno)
而不是传递ptr
到时printf()
,它会打印旧的错误消息。怎么可能ptr
指向一条消息但strerror(errno)
指向另一条消息时两个地址相同?我验证了两个地址相同,我希望复制"Hello"
到ptr
应该与将其复制到返回相同strerror(errno)
。为了双重检查这种差异,然后我尝试"Hello"
直接复制到,strerror(errno)
但这次也不起作用它会打印相同的旧错误字符串。但令人惊讶的是,在这一点上,我再次验证了地址ptr
和strerror(errno)
确实一直都一样!!这怎么可能?如果它们相同,它们如何指向不同的字符串?一个到"Hello"
另一个到旧的自定义错误消息?
请解释这背后的原因。
输出
c - memcpy() 和 strncpy() 之间有什么区别,因为后者可以很容易地替代前者?
memcpy()
和 和有什么显着区别strncpy()
?我问这个是因为我们可以很容易地改变strncpy()
以复制我们想要的任何类型的数据,而不仅仅是字符,只需将前两个非char*
参数转换为char*
并将第三个参数更改为该非字符类型大小的倍数。在下面的程序中,我已经成功地使用它来将一个整数数组的一部分复制到另一个中,它和memcpy()
.
同样,我们可以使其适用于float
其他数据类型。那么与 有什么显着区别memcpy()
呢?
PS:另外,我想知道为什么memcpy()
在string.h
头文件中,因为几乎所有的库函数都与字符串相关,而memcpy()
本质上更通用。任何原因?
c - C语言中如何获取和显示单词的密度和出现?
我目前正在处理一个文本文件,其中包含固定数量的单词。我想要的只是计算一个单词在文本文件中出现的次数并输出它的密度。我在一个文本文件中有 266 个单词,我想输出单词的数量和密度以及单词本身。
OP的代码:
c - 在字符串 C 指针中循环时出现段错误
已修复:嘿,当我尝试计算文本中的单词时,我在 C 中遇到了这个奇怪的分段错误。谁能解释一下段错误的原因和解决方案?
这是我的源代码:
输入示例:
请注意第二句中空格的过度使用。
我还有另一个关于我阅读的问题stdin
。有没有更好的方法来实现这一目标?我的意思是我试图用 来做fgets
,但我失败了,我知道我不应该使用gets
(见鬼,如果你使用 get,即使 GCC 也会将它作为警告)。
另一个问题:为什么它不打印预期的字数?它打印 12 而不是 14?
c - strlen() 在崩溃的 .exe 中
由于某种原因,此代码正在崩溃。我想检索一个字符串(在本例中为字符串)的长度以供以后使用。为什么这段代码会崩溃?
谢谢
c - 关于获取(字符串)的非常奇怪的错误
c
使用先前打印gets
的 的值读取时a
,打印为具有以下值:0
; 当scanf("%c", &c);
用作替代gets(c);
值时,a
在整个代码中保持不变。
我似乎无法弄清楚为什么会这样,有人可以解释一下这是怎么可能的吗?
c - 如何抑制阴影“索引”警告?
我维护了一个跨平台的 C 代码库,在一些平台上(Xcode 4、Red Hat 派生的发行版,如 Fedora 和 Mageia),我收到以下编译器错误:
基于这个答案,我知道这是因为一些基于 BSD 的 C 实现定义了一个非标准index
函数,string.h
这意味着每当我声明一个index
变量时都会出现这个警告。我向你保证,我没有任何全局index
变量。
我知道我可以避免命名任何东西index
,但它是一个语义上有用的名称,所以我最终在所有地方都使用它。我知道我也可以抑制此警告,例如通过-Wno-shadow
在 GCC 中使用,但我宁愿不全局禁用其他有用的编译器警告。
那么我该如何解决这个问题呢?也就是说,是否有可能检测平台是否具有该index
功能并仅在该处禁用警告,或者如果存在,我该如何重新定义它?
c++ - strstr - string.h 误传错误?
我正在尝试将文件名与字符串列表进行比较,以查看它们是否匹配,如果匹配则相应返回
我正在使用以下条件:
虽然 MSVC++2012 提示我以下错误strstr
:
问题是:上面的错误是什么意思,如何解决?