小编Hak*_*mir的帖子

malloc(): 损坏的顶部大小

我正在开发一个程序来解密文件中的某些文本行。首先,我创建的另一个源代码要求转换和一些文本。源代码加密文本并将其写入文件。

然后,我尝试使用以下代码(另一个源代码)解密指定的文件。获取文件名。从文件名获得移位。文件中写入的每个字符都被复制,在函数 caesar_decrypt -reversing caesar encrypt 的帮助下移动了 shift 的值,我也有。但是,给定的字符必须是 32 到 127 之间的 ascii 值才能转换为 32 到 127 之间的另一个 ascii 值字符。

我定义了我的模函数,它封装了余数运算符 - 正数的模 - 和负数的模。我还定义了 strip 函数,它的工作方式与 python 中的 strip 函数相同。除了空格,它会删除所有文字。我也有getIn(),它是python的input()。

我尝试通过打印和使用 gdb 进行调试。没有有效的结果。我在 stackoverflow 中研究过这个话题。找到一个条目。答案没有解决我的具体问题。

注意:我复制了整个程序,因为我认为您需要必要的详细信息。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <unistd.h>
#include <fcntl.h>

/*GETIN FUNCTION*/
char* getIn() 
{
    char *line = NULL, *tmp = NULL;
    size_t size = 0, index = 0;
    int ch = EOF;

    while (ch) 
    {
        ch = getc(stdin);

        /* …
Run Code Online (Sandbox Code Playgroud)

c malloc segmentation-fault caesar-cipher

0
推荐指数
1
解决办法
4万
查看次数

标签 统计

c ×1

caesar-cipher ×1

malloc ×1

segmentation-fault ×1