我即将对令牌化器进行编码,我真的很惊讶,我已经设法编写了一个可编译的代码: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;
答案 0 :(得分:1)
您始终可以使用sprintf()而不是printf()。 printf()进入控制台。使用sprintf(),您可以选择打印位置。
例如:
char returnedArray[100]; // or change the size
sprintf(returnedArray, "%s\n", array);
现在,你有一个char数组(记住你没有C中的字符串)保存在returnedArray中。