问题标签 [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 - 使用 C 提取 Wiki 链接
我需要编写一个程序来读取维基百科源文件并提取所有指向其他网页的链接。所有网页看起来都像示例:
我基本上需要将 /wiki/ 之后的 PageName 与标题匹配,如果它们相同,如上所述,则只在终端上显示 PageName。
但是,不应匹配以下内容,因为它的格式与上述不同:(
<a href="http://chicken.com>Chicken</a>
这是指向维基百科外普通网站的链接)
<a href="/wiki/Chicken >Chicken</a
>(缺少 title= 部分)我试图实现的输出看起来像这样:
我已经为此工作了很长时间,并且能够做到以下几点:
代码只过滤到 /wiki/ 但从这里开始我是空白的。我尝试了很多搜索,但无法获得线索。帮助将不胜感激。
c - memcpy 反转数据,C语言
我在这里有疑问,我正在尝试使用memcpy()
将一个复制string[9]
到一个unsigned long long int
变量,这是代码:
如何在不反转数据的情况下制作此副本?
string - strcpy() 函数的第二个参数中没有空字符会返回意外结果。为什么?
字符串b中没有空字符,这就是输出不符合预期的原因。
output : 12@
为什么只有这样的输出?
c - 为什么有正差时memcmp返回负值?
这是一个非常基本的函数,运行时会打印 -2。也许我完全误解了 memcmp,但我想如果它返回第一个不同字节之间的差异。由于 test1 的 num 比 test2 大,打印的值不应该是正数吗?
我正在为 ubuntu 使用标准的 gcc.7 编译器。
c - windows内存格式化问题
我正在尝试使这种动态重新分配以可移植的方式工作。
我的程序接受来自用户的一行文本并将其附加到缓冲区。如果缓冲区中的文本长度为 20 或更多,它会删除前 20 个字符并将其后的任何字符移动到缓冲区的开头。
我有这段代码可以在 Linux 上运行干净,但是当我在 Windows 上运行它时会发出垃圾。有谁知道为什么/如何仅使用 malloc 使其可移植。IE 不使用 string.h(strcpy) str... 除了 len。
仅限 c17 - 没有破损的结构(不可移植)。这是我的代码。编译没有错误 gcc 7.3, mingw 7.3。我用更安全的功能替换了gets和puts,但我仍然在windows上得到垃圾。我认为这是一个格式问题...
c - C:简单的 CSV 读取器/写入器 - 无限循环行为
我的程序会编译,但是当我运行 exe 时,没有输出,程序也没有终止。
我试图通过打印“标志”来找到可能导致问题的代码行;但是,我的标志都没有被打印出来,即使是 main 中第一个语句的标志。如果不调用函数 populateLinkedList,程序将正常执行。
c - C 中指向字符串管理的指针:替换字符串中的特定字符
我想用“,-1”替换.csv文件中一行中所有“,”的情况。在这个id之前也喜欢在行尾加逗号。
我试图通过将行分成两个子字符串来获得它,其中一个是 , 之前的东西,一个是之后的东西,然后将它们连接起来,但我可能也弄乱了每个东西指向的东西。
同样在此操作之前,我想在文件末尾添加一个额外的逗号,因此如果末尾有缺失值,也会得到处理。
我想我把两个子字符串弄乱了,因为如果起始字符串是这样的:
ajd43,232,,0,0,0,3
它打印
ajd43,232,-1,0,0,0,3 ,(/n)0,0,0,3
我认为错误在最后的 strcat 中,但如果它们是执行此操作的更简单方法,我想使用它。
c - C在位置插入和替换字符串
如何在 C 中的特定位置将一个字符串(源)插入另一个字符串(dest),覆盖目标字符串(而不是在插入位置移动目标字符串的内容)。
一个如下string_insert_and_replace
抽象的函数;
c - (C) 字符串的长度变得大于我指定的最大长度?
我正在做一些测试,用户通过命令行将字符串输入到我的程序中,但我对某些事情感到困惑。当我指定 char[] 数组的最大大小时,程序仍然以某种方式使 char[] 比我指定的最大长度长,没有错误。为什么会这样?为什么sizeof(input)
显示 5 个字节,尽管input
包含 14 个字符?
我希望这可以扫描用户输入的前 5 个字符;但相反,它提供输入的全部内容......?
命令行输出: