所以我在下面給出了這個C代碼。當我放置printf
語句來測試輸入文件中的文本時,我發現我收到了一堆垃圾值,更具體地說,它們甚至不是字母或數字,我認爲它們是帶有問號的鑽石。我認爲這意味着它不會按照它應該的方式處理這些值。輸入文件有一點MIPS彙編代碼,但在這種情況下,它只是一個文本文件。我已經評論了我的程序的所有其他部分,並留下了這個小部分,但我仍然收到了不好的價值。我可能在這裏做錯了什麼?來自C輸入文件的垃圾值C
我用在控制檯上運行的程序的命令是:
./assembler -symbols adder.asm
Where ./assembler is the driver (argv[0])
-symbols is a tag used (argv[1])
adder.asm is the input file (argv[2])
所以一旦打開,我應該能夠抓住文本出該文件的,據我所知,這個文件並不是問題,而是早期工作。
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stdbool.h>
FILE *fp;
FILE *fp_out;
void main(int argc, char* argv[])
{
int mode;
if (strcmp(argv[1], "-symbols") == 0)
{
fp = fopen(argv[2], "r");
mode = 1;
}
else
{
fp = fopen(argv[1], "r");
fp_out = fopen(argv[2], "w");
mode = 2;
}
}
爲什麼選擇C++標記?這是C. – 2013-04-26 14:48:01
不是,在C中,它將是'int main'。 – 2013-04-26 14:48:58
@DanielFischer就像在C++ – Angew 2013-04-26 14:49:26