0

我需要一个程序来使用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);

帮助?

4

2 回答 2

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");
于 2013-10-06T01:04:52.820 回答
0

问题不在于你的结构。运行之后,copy 确实等于你想要的。但是您还没有告诉计算机如何处理该变量。你想打印吗?写入另一个文件?

告诉计算机对副本做一些事情。

于 2013-10-06T01:02:34.897 回答