问题标签 [strcpy]
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 - 使用 STRCPY 后,C 编程问题无关变量被覆盖
问题是在 STRCPY 完成运行后变量 nodeType 正在更改。nodeType 不是与 STRCPY 调用中使用的任何其他变量相关的变量。虽然它在同一个结构中。nodeType 是一个 int 值为 3 的枚举。
下面如果以下信息可能最相关。我从枚举和结构中删除了大部分变量,因此它们不可见,我认为它们与问题无关。如果这有所作为,我正在 VS2010 中编码。这是创建 btree 的任务的一部分,但我的问题与 btree 无关。
... insertElement 函数的一部分
..我调用的函数是插入一个元素。在此之前,我已经多次调用该函数,但这是下面这段代码第一次运行。在 STRCPY 运行后,nodeType 的值为 1280070990。我将变量设置为 watch,而它在 CXX0017 错误中,我认为这仅意味着它不在范围内。
我查找了数字 1280070990,它从各种引擎中产生了一堆与游戏相关的问题。我猜它是一个内存地址问题。
下面提供了解决方案。这是在数组边界之外写入的简单错误。我像这样分解了旧代码,然后遍历它。这使我能够确定我在键数组键之外编写的问题。
全面了解两个变量所在的结构。
从结构体中变量的顺序我们可以看出nodeType跟随key。我相信 C 会以同样的顺序分配内存。所以我也可以看这里来确定问题。
c - Advantage of using strcpy function in C
Alternatively, we could assign s
to t
like this: t=s;
. What is the disadvantage of using the alternative?
c - 复制无符号字符数组
将 unsigned char 数组复制到另一个数组的最佳方法是什么?
例如:
上面的代码不起作用,它给了我错误消息“无法将参数 1 从 unsigned char [1000] 转换为 char *”。
c - c strcpy 一个文件描述符
我对 strcpy() 函数有疑问。我要做的是用户输入文件名,我基本上打开文件,获取内容并创建文件副本。
但是,我决定进行一些错误检查,以检查内容 read() 是否与写入副本文件中的内容相同,然后再写入。因此,我使用文件读取的文件大小将内容读取到动态数组中,因此缓冲区是数据的正确大小。然后我想将它的副本创建到另一个动态缓冲区中,并使用 strcmp() 查看它们是否相同,如果是,那么我将复制缓冲区写入输出文件?
这适用于某些文件,但视频文件(mpeg)等问题,当打开视频文件时出现错误“无法确定流的类型”,这是这个想法
那么我在内存中创建另一个缓冲区副本的原因是我可以比较实际的位数据,而不仅仅是大小,所以我知道正在写入的数据与正在读取的数据相同?
c++ - c++中strcpy的替代方案
在 C 中,我曾经strcpy
制作字符串的深层副本,但在 C++中使用它仍然“很好”strcpy
还是有更好的替代品我应该使用?
c - Valgrind 警告:我应该认真对待吗
背景:我有一个模仿的小例程,fgets(character, 2, fp)
除了它从字符串而不是流中获取字符。newBuff 是作为参数传递的动态分配的字符串,并且字符被声明为char character[2]
.
常规:
strcpy 复制了从其中读取每个字符时丢失的信息。
问题:Valgrind 确实警告我这个活动,“源和目标在 strcpy(0x419b818, 0x419b819) 中重叠”。
我应该担心这个警告吗?
c - 是否需要释放使用“strcpy”创建的字符串?
是否需要释放使用“ strcpy ”创建的字符串?以及如何释放它?
编辑:目的地是这样分配的:
c - 为什么 C 的 strcpy 会因双索引数组而失败?
以下代码似乎存在段错误,我无法弄清楚原因。
c - strcpy 字符串数组
如果输入的长度超过 20 个字符,我需要做什么才能让它只抓取前 20 个字符
c - strncmp/strcpy 损坏源
今天我试图对 char * 字符串友好...但似乎我失败了:) 每次我调用 strcmp/strncmp/strcpy 函数时,我的源都会损坏...
这是片段
输出:
我只是一个初学者,所以它可能非常简单......可能不是。哦,顺便说一句,使用 linux 和 netbeans 作为 SDK,gcc 作为编译器。