代码编译等,但只是在运行时挂起

时间:2010-06-16 11:41:13

标签: c

我的程序用于解析文本文件,提取相关数据,然后将其保存在SQL表中。我这样编译..

  gcc -o parse parse.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient_r

然后我就这样运行......

  ./parse > tweets.rss

但它只是挂起。它不会打印我调试的任何printf。怎么了?这是我的代码......

http://pastebin.com/3R45zyMp

我很感激任何帮助!

2 个答案:

答案 0 :(得分:8)

您指定它应该写入tweets.rss而不是从中读取。由于你的程序首先从STDIN读取并且你没有提供任何输入,为什么你会期望任何输出?

尝试:

./parse < tweets.rss

答案 1 :(得分:5)

以下将永远循环。

while(c!= ' ' || c != '\t' || c != '\n' || c != '>'){
    c = getchar(); //Get a new char
    test[i] = c;
    i++;
}

c只能等于其中一个,所以条件总是正确的。