将一行数据存储到文件中

时间:2017-06-03 13:05:31

标签: c io character-encoding char huffman-code

我一直致力于我的霍夫曼项目。几乎完成了,现在我唯一需要做的就是存储在输出文件中。这是我的解码功能。

void decode(struct Node * root, int * encodeString) 
{
    int i;
    struct Node * temp = root;
    for (i = 0; encodeString[i] != -1; i++) 
{

            if (encodeString[i] == 1) 
    {
                    temp = temp -> right;
            } 
    else 
    {
                    temp = temp -> left;
            }

            if (isLeaf(temp)) 
    {
                    printf("%c", temp -> character);
                    temp = root;
            }

    }

}

调用主要功能

decode(start, encodedString);
    printf("\n");

减压结果:

Fred Fish 1 2 3 4 5 6 7 8 9 10

我稍后会在main函数中调用它。当我打电话时,将打印解码后的字符串。有没有办法阅读这些字符。我没有使用fgets(),因为我不知道字符的大小。我试过scanf("%99c",行)但它不起作用,请指教

1 个答案:

答案 0 :(得分:0)

为了能够在文件上打印某些内容,您首先必须打开所需的文件。 使用函数fopen来执行此操作。

如果将mode参数设置为" r"你将能够从该文件中读取。如果你想写,如你所说,使用选项" w"。

您可以使用fwrite等可用功能之一在文件上进行写入。但是还有很多其他人,只是做你的研究。

当您完成后,请记得通过拨打fclose来关闭之前打开的文件。