问题标签 [strcat]
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 - AIX 5.3 与 Solaris 5.10 - C strcat 实现
有谁知道为什么会发生这种情况?
我在 AIX 5.3 中有一个 C 程序,有人要求我在 SPARC Solaris 10 机器上运行它,但是当我这样做时,我注意到有一个缓冲区溢出,其中一种是不计后果的 strcat 使用。我的目标不是清理代码,而是提供一个具体而有根据的答案,说明为什么这种溢出发生在 Solaris 而不是 AIX 上是完全相同的错误编码程序。
我一直在阅读一些关于这是否可能是由以下原因引起的:
AIX 和 Solaris 之间的字节序差异。执行 strcat 函数(AIX 从右到左复制,Solaris 从左到右复制),但我找不到任何关于此的文档。
- 很幸运,这个问题在 AIX 上没有发生。
非常感谢您对此有所了解。
编辑:可以通过solaris 上的 noexec_user_stack 标志避免这种情况吗?
编辑 2: 有没有人知道两个操作系统进行实际字节复制的方式?在类似于上述选项 2 的情况下?
编辑3:这是代码块:
/*global*/
char bufferA[101];
/*inside function*/
bufferA[0]='\0';
strcpy(bufferA,"1");
if (atoi(something)==0) {
strcat(bufferA,pieces_of_data);
count ++ ;
}
显然还有更多,但这是唯一使用bufferA的部分,并且在bufferA之后声明了2个全局变量,这些变量被附加到bufferA的最后一个字符串的最后一部分损坏。
正如我之前所说,如果我将声明从 101 更改为 201,则不会发生腐败。
编辑 4:有人知道关于 solaris 上的 -misalign 和 -misalign2 编译器选项吗?这些选项有什么亮点吗?实际上,一个更好的问题是:AIX powerPC 和 Solaris SPARC 在对齐方面有什么区别吗?尽管这可能是 serverfault 的问题,但如果您知道的话,请分享。
c - 指针返回如何在 strcat() 中工作
嘿伙计们,我想弄清楚 strcat() 是如何返回指针的,所以我尝试实现自己的 strcat() 来看看它是如何工作的。以下是我的 mystrcat() 代码,它的工作方式类似于真正的 strcat():
所以让我们在我的 main() 中说,我有
输出将是
正如预期的那样。我没有得到的是返回局部变量str的地址如何神奇地使变量string指向它,以及为什么当函数终止时变量str没有被删除。
c - strcat 分段错误
对这里的第二次调用strcat
是产生分段错误,为什么?
c - 用作 bash 系统调用的 strcat 结果不喜欢与号
我正在使用 ash 而不是 bash 开发嵌入式系统,并试图从交叉编译的 C 程序中调用脚本。
它正在工作,但不像我问的那样在后台进程中。事实上,似乎 strcat 命令不起作用,但它打败了我为什么。
我在 C 方面相当新,这一定是显而易见的。
编码:
屏幕显示:
为什么要这样做?
c++ - g++ + strncat:可能溢出目标缓冲区
我需要在我的 C++ 程序中包含一个 C 函数,当使用 g++ 编译代码时,我收到以下警告:
代码:
我如何摆脱这个警告?
c - 连接+ itoa的问题
我有以下代码:
hour
,minute
并且second
都是整数。
我想要做的是显示时间如下:HH:MM:SS。
变量保证在 0 到 59 之间(除了 hout,0-24)。
drawText 是正确的。
这段代码使我的程序崩溃,我找不到任何问题。你可以吗?
谢谢你的时间!
c - I just can't figure out strcat
I know I shouldn't be using that function, and I don't care. Last time I checked the spec for strcat, it said something along the lines of updating the first value as well as returning the same.
Now, this is a really stupid question, and I want you to explain it like you're talking to a really stupid person.
Why won't this work?
EDIT: I don't know the difference between char[] and char*. How would I allocate a string of 255 characters?
EDIT 2: OK, OK, so char[number] allocates a string of that many bytes? Makes sense. Thanks.
EDIT 3: Also, how would I use a character array without declaring it? Would I typecast it as char[255]?
EDIT 4: strcat((char[256])"foo","bar") returns an error. I'm about fed up with C.
EDIT 5: So does strcat((char[256])"foo",(char[])"bar").
EDIT 5:
Real smooth. "identifier expected"
c - strcat 将一个字符连接到一个字符串上?
使用 GDB,我发现在尝试此操作时出现分段错误:
鉴于该字符串被初始化为
和 currentChar 是
为什么这会导致分段错误?
如果 strcat 不能用于此,我还能如何将 char 连接到字符串上?
c - 如何在 C 中正确使用字符串?
Java、Python 和其他类似的东西毁了我。我正在尝试通过响应服务器代码来自动化 FTP 客户端:
例如:
当我尝试这个时,它适用于 USER,但我得到一些错误的 PASS 文本:
谁能比我更聪明、更有经验给我一些 C 字符串指针?显然这不适合我。
c - 从字符串的可选点中删除一个字符
我想从 c 语言中字符串的可选点中删除一个字符。我想通过指针和 strcat() 函数编写这个程序。请指导我
谢谢大家