通过读取函数

时间:2016-02-29 20:15:12

标签: c

我试图编写一个能够读取.asm文件的程序,用c。

#include  <stdio.h>

int preprocess_get_line(char label[], char instruction[], FILE* fp);

int main(int argc, char *argv[])
{
    /* Open file and check success */
    char *filename = "helloworld.asm";
    if (argc >1)
    {
        filename = argv[1];
    }
    FILE* inputfile = fopen(filename, "r");
    if(inputfile == NULL)
    {
        fprintf(stderr, "Unable to open \"%s\"\n", filename);
        return 1;
    }
    while (preprocess_get_line(label, instruction, inputfile))
    {
        fprintf("%s: %s", label, instruction);
    }
    return 0;
}

int preprocess_get_line(char label[], char instruction[], FILE* fp)
{
    fgets(str,260, fp);
    while(character != EOF)
    {
        printf("ASCII hex: %2x '%c'\n", (int)character, character);
        character = fgets(inputfile);
    }
    fclose(inputfile); 
} 

这是我编写的代码,但我仍然在代码中收到多个错误。 我在第19行中遇到的一个特定错误 标签未声明(首次使用此功能) 我的理解是我已经宣布了这个功能(第2行) 第19行的另一个错误 每个未声明的标识符仅针对其出现在中的每个函数报告一次 至于这个错误,我不确定问题是什么。

1 个答案:

答案 0 :(得分:0)

第19行未定义

labelinstruction。您定义了inputfile,但未定义其他两个。