我正要编写一个分词器,我真的很惊讶,我设法编写了一个可编译的代码 :D 但我有一个我不知道如何解决的问题。
我首先制作一个 array[WORD_MAX_SIZE]={0}
。在我使用 fopen *'r'
之后。单词最大大小是全局定义的。
我的程序运行良好,我得到了我想要的结果,但我想改变一件事,但我不知道如何做。我在 While 循环的末尾将结果打印到屏幕上。 但我想将完整的结果保存在一个字符串
中。我不想打印它,而是希望它在一个字符串集中,这样我可以稍后再玩。谁能帮忙?
提前致谢。
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;
最佳答案
您始终可以使用 sprintf() 而不是 printf()。 printf() 转到控制台。使用 sprintf(),您可以选择打印位置。
例如:
char returnedArray[100]; // or change the size
sprintf(returnedArray, "%s\n", array);
现在,您将 char 数组(请记住您在 C 中没有字符串)保存在 returnedArray 中。
关于C语言编程——数组转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34200479/