#define String char*
#define FileP FILE*
#define null ((void*) 0)
#include "defs.h"
int main(int argc, char** argv) {
Stack stack;
init(&stack);
FileP file = readp("Props.props");
if (file == null){
printf("Unable to Load\n");
exit(1);
}
String buffer;
int m = 0;
char ch;
while (!feof(file)) {
ch = getc(file);
if (ch != ' ') {
*(buffer + (m++)) = ch;
} else {
push(&stack, buffer);
m = 0;
}
}
int i;
for (i = 0; i < MAX_SIZE; i++) {
printf("%s\n", pop(&stack));
}
fclose(file);
return 0;
}
defs.h 包含所有#defines,但我将它们包含在此处以便您知道它们是什么。该程序打开一个名为“props.props”的文本文件并读取每个字符串,然后将它们存储到堆栈中,最后将堆栈打印出来。运行时没有任何反应,只是由于运行时错误而退出。为什么会这样?