C编程 - 数组到字符串

时间:2015-12-10 11:14:39

标签: c arrays string

我即将对令牌化器进行编码,我真的很惊讶,我已经设法编写了一个可编译的代码:D但是我有一个问题,我不知道如何解决。

我首先制作array[WORD_MAX_SIZE]={0}。我使用fopen *'r'后。 Word最大大小是全局定义的。 我的程序运行正常,我得到了我想要的,但我想改变一件事,但我不知道如何。我在While循环结束时将结果打印到屏幕上。 但我希望将完整的结果保存在一个string而不是打印它,我希望它在一个字符串集中,所以我可以在以后玩它。有人可以帮忙吗?

提前致谢。

while (feof(fp)==0)
{
    c=fgetc(fp);

    if(isalpha(c))
    {
        array[i]=c;
        i++;
    }
    else if (i!=0)
    {
        array[i]='\0';
        i=0;
        printf("%s\n", array);
    }
}

fclose(fp);

return 0;

1 个答案:

答案 0 :(得分:1)

您始终可以使用sprintf()而不是printf()。 printf()进入控制台。使用sprintf(),您可以选择打印位置。

例如:

char returnedArray[100]; // or change the size
sprintf(returnedArray, "%s\n", array);

现在,你有一个char数组(记住你没有C中的字符串)保存在returnedArray中。