首页 文章
  • -1 votes
     answers
     views

    C - strpy,char ***崩溃

    我正在为我们必须创建哈希表的作业编写代码 . 其中一个功能是获取哈希表中的所有键并将其分配给参数给出的char * **(三重指针) . char * **被假定为空,因此我们必须在函数内为其分配内存以适应所有键 . 我遇到的问题是,在我分配内存(并且可能是正确的数量,使用strlen 1)之后,程序崩溃并且valgrind给出了 invalid read of size 8 的错误消息,以及一...
  • 0 votes
     answers
     views

    为char分配额外的内存,但不为已分配的struct中的int分配内存?

    我收到此错误消息:传递x的参数1从指针生成整数而没有强制转换 . 在传递int时,我以相同的方式完成了exaclty,并且完美无缺 . 但当我用一个char做到这一点时,我得到了这个错误 . 码: struct x { char y; } struct x *make(char y) { struct x *n = malloc(sizeof(struct x)); n-...
  • 1 votes
     answers
     views

    strcpy()导致分段错误? [重复]

    可能重复:获取分段错误 为什么此代码会导致分段错误? char *text = "foo"; strcpy(text, ""); 据我所知,第一行分配一些内存(以保存字符串"foo")和 text 指向分配的内存 . 第二行将空字符串复制到 text 指向的位置 . 这段代码可能没有多大意义,但为什么它失败了?
  • 0 votes
     answers
     views

    有人可以复习这个练习吗?我是对的,但想澄清一些事情

    1 void myfunc(char** param){ 2 ++param; } int main(){ 3 char* string = (char*)malloc(64); 4 strcpy(string, "hello_World"); 5 myfunc(&string); 6 myfunc(&string);...
  • -1 votes
     answers
     views

    使用strcpy()时出现分段错误

    我们添加了print语句来检查分段错误发生的位置 . 它在strcpy(命令,令牌)失败;我们如何将该部分存入指令?还有一种方法可以检查令牌末尾的空字符吗? strtok()在使用时是否有空字符? int main(int argc, char **argv) { char *command, *flag, *pathname, *linkname; struct stat st = {0...
  • 0 votes
     answers
     views

    将命令行字符串复制到数组,valgrind错误

    我期待命令行中的名字,我需要将它们保存在一个数组中 . 我试过的多种方法都不起作用(我正在使用strcpy)而且我得到以下valgrind错误: Use of uninitialised value of size 8 ==23027== at 0x4C2E1E0: strcpy (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)...
  • 2 votes
     answers
     views

    Strcpy分段故障C.

    我正在学习一些新东西并陷入简单的strcpy操作 . 我不明白为什么我第一次打印作品,但第二次不打印 . #include <stdio.h> #include <string.h> #include <stdlib.h> int main() { char *name; char *altname; name=(char *)mal...
  • 0 votes
     answers
     views

    Strcpy导致分段错误

    我不确定为什么strcpy会导致分段错误,并且想知道是否有人可以向我解释原因 . 我最初有 temp->data = name 但是每当我更改名称数组并且正在寻找解决方案时,这会导致Node值发生变化 typedef struct BST { char *data; struct BST *left; struct BST *right; }n...
  • 3 votes
     answers
     views

    带有char *和<<运算符的条件跳转valgrind

    我正在编写我的String类的版本,但Valgrind抱怨我的字符串 &lt;&lt; 运算符的实现 . 错误是在错误的行,如果我通过char打印char它工作得很好 . 我哪里错了? Valgrind错误: == 2769 ==条件跳转或移动取决于未初始化的值== 2769 ==在0x4C2AC28:strlen(在/usr/lib/valgrind/vgpreload_memcheck-am...
  • 0 votes
     answers
     views

    如何将字符串数组转换为char数组?

    我已经使用std :: getline从文本文件中读取了几行,但现在我需要将字符串数组转换为char数组,以便我可以使用isalpha和isdigit . 这里的最终目标是确定哪些字符是数字,哪些是字母 . 即: 将字符串内容[50]转换为字符数组 . 我曾尝试使用strcopy,但它不允许我使用该字符串,因为“'string [50]'不是结构或联合” 感谢任何帮助,谢谢 .
  • 5 votes
     answers
     views

    为什么我不能strcpy?

    #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;stdlib.h&gt; int main() { const char* hello = &quot;Hello, World!&quot;; char *str = malloc(14 * sizeof(char)); for (int i = 0; ...
  • 41 votes
     answers
     views

    如何正确分配新的字符串值?

    我试图了解如何以最干净/最安全的方式解决C中的这个微不足道的问题 . 这是我的例子: #include &lt;stdio.h&gt; int main(int argc, char *argv[]) { typedef struct { char name[20]; char surname[20]; int unsigned a...

热门问题