问题标签 [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.

0 投票
1 回答
451 浏览

c - 使用 strncpy 和 strncat 的奇怪输出

我想编写一个程序,它获取字符串'ch1'的前半部分并将其放入字符串'ch3',然后获取另一个字符串'ch2'的前半部分并将其连接到'ch3'中“放在最后ch3" 但是当我执行它时,它给了我奇怪的 ch3 输出 .. 例如:

结果:ch3 =“1<3rdweirdletter>azert”

这是我的代码:

如果有人帮助我,我将不胜感激。谢谢

0 投票
2 回答
139 浏览

operator-overloading - 我是编程新手,学习运算符重载。重载“+”以添加两个字符串

我是编程新手,学习运算符重载。重载“+”以添加两个字符串。但是当我尝试使用 strcpy 组合两个字符串时,第二个字符串替换第一个字符串而不是用第一个字符串复制。

输出

0 投票
1 回答
73 浏览

c - 如何将文本文件中一行的子字符串保存到字符串数组中?

我有读取.txt文件的代码:

这个想法是找到字符':'并将其分开保存在字符串数组中。与Juankaand相同,Cony但相反,它将在找到','and时出现'\0'

0 投票
1 回答
1313 浏览

c++ - strcpy 是否等同于 strcpy_s

我想知道我是否可以安全地将此处定义的 strcpy_s 替换为https://msdn.microsoft.com/en-us/library/td1esda9.aspx - (带有两个参数的那个)与此处定义的 strcpy http://en。 cppreference.com/w/c/string/byte/strcpy - (第一个)。如果不是,那么我可以用来替换 strcpy_s的最接近的strcpy版本是什么?

0 投票
1 回答
78 浏览

c - 带有函数 main 的文件中的 string.h 标头

我有一个包含几个 .c 和 .h 文件的程序。在其中一个 .c 文件中,我使用了函数 strcmp()。我在这个文件中添加了 string.h 的标题

是否还需要具有 main 函数的文件中的 string.h 标头?

谢谢!

0 投票
1 回答
73 浏览

c - 我该如何解释: sprintf(var_ptr_char+strlen(var_ptr_char).... C 代码

我怎么能解释这个:var_ptr_char+strlen(var_ptr_char) 在下面的 C 代码中:

以及为了通过 snprintf 更改 sprintf 我将放置多少大小。

谢谢!

0 投票
2 回答
371 浏览

c - 解释 memcpy 函数的行为方式?

在上面的代码中,我将字符数组“name”的大小预定义为 10。现在,当我将输入输入为:

输入 - abcdefghijklmnopqrstuvwxy

我得到的输出是相同的字符串:abcdefghijklmnopqrstuvwxy

我不应该得到输出:abcdefghij ???

即使数组的大小限制为 10,这如何成为可能?

0 投票
1 回答
743 浏览

c - 如何在C中将字符串分成3部分

问题如下:“如何在 C 中将字符串拆分为 3 部分?”

该字符串类似于以下内容:“Roberta$$$Anna$$$$$$Massimo$$$”

我需要在 10 个字符(Roberta$$$、Anna$$$$$$、Massimo$$$)之后将其拆分,请注意它们没有用空格键分隔,所以我认为我不能使用 strtok函数或库 string.h 来拆分它们。

0 投票
1 回答
130 浏览

c - 我自己的类似 strcat() 函数只打印一个字符数组

我一直在尝试练习编程,所以我决定尝试自己键入 strcat() 函数,或者你知道的类似函数。我输入了这段代码以继续它,但我不知道问题出在哪里。

没有语法错误(我希望)编译器给了我这样的结果:它没有连接字符串,没有任何反应。

它给了我与用户输入的相同数组相同的数组,有人有答案吗?

PS:我还不知道指针。

0 投票
0 回答
822 浏览

c - 为什么 Linux 和 Windows 的 C 库不同?

我尝试在 Ubuntu 和 gcc 编译器下运行string.h中的函数“strlwr”、“strupr”、“strcmpi”、“strrev”;收到下一条消息:

警告:函数“strupr”的隐式声明 [-Wimplicit-function-declaration]

以及

(.text+0x84): 未定义的对“strupr”的引用

一旦我尝试过 Windows,相同的编译器,一切正常。

我在“/usr/include”下查看了 linux 中的 string.h,它指出这是 GNU C 库 ISO C99 7.21 字符串处理的一部分(也尝试使用-std=c99进行编译,但不起作用),我从头文件中了解到我可以使用“strcasecmp”函数,而不是“strcmpi”。

不能在 Windows 中做同样的事情(查看头文件的代码),因为头文件和库文件是嵌入在编译器代码下的,对吗?(1)

再次在Linux中搜索string.h文件,发现/usr/include/linux等不同路径下有近50个同名文件;/usr/include/x86-64-linux-gnu/bits others 在Oracle VB目录和Arduino目录下。为什么有这么多文件在 C 中处理字符串但以不同的方式处理?编译器如何知道要使用哪一个来完成工作?有什么方法可以在 C 文件下或在编译过程中定义多个头文件之一?(2)

我是否使用过时的标题和库,是否有任何“官方”来源可以知道是否有任何库已贬值?如何知道 Windows 头文件和库下面有什么?(3)

我正在使用 gcc 版本 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 和 Windows 8。