如何修复循环?

时间:2013-10-06 00:54:27

标签: c loops fgetc

我需要一个程序来使用fgetc从文件中获取输入。第一个条件是找到换行符'\n'然后复制所有字符。之后,如果遇到逗号',',程序需要停止复制。

我的代码编译但是当我运行它时,没有任何反应;光标只是无限地闪烁。

do  {
        if (copy != '\n')
            {
            copy = fgetc(mp);
            }
        else
            {
            for (i=0; copy != ','; i++) //i is a counter                {
                player_name[i] = copy;
                copy = fgetc(mp);
                }
            }
        }
    while (copy != EOF);

printf("%c", player_name);

帮助?

2 个答案:

答案 0 :(得分:2)

如果要查看输出,请添加printf

do  {
    if (copy != '\n')
        {
        copy = fgetc(mp);
        }
    else
        {
        for (i=0; copy != ','; i++) //i is a counter                {
            player_name[i] = copy;
            printf("%c",player_name[i]);
            copy = fgetc(mp);
            }

         player_name[i] = '\0'; // impliment this if you want to convert player name into a string to be used later 
        }
    }
while (copy != EOF);
printf("\n");

答案 1 :(得分:0)

问题不在于您的结构。运行之后,副本确实与您想要的相同。但是你没有告诉计算机该怎么处理var。你想要打印吗?写到另一个文件?

告诉计算机执行复制操作。