C语言编程——数组转字符串

标签 c arrays string

我正要编写一个分词器,我真的很惊讶,我设法编写了一个可编译的代码 :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/

相关文章:

c++ - 已编译的 C 可执行文件被 Windows Defender 检测为病毒

在c中创建一个二维字符数组

c - 如何释放更复杂的嵌套结构

java - .replaceAll() 方法无法正常工作

c - 字符串修改函数 : return void or char*?

c++ - C printf跨平台格式无警告

arrays - 在不知道位置的情况下从数组中删除(不仅仅是取消设置)多个字符串

c++ - 在 C++ : segmentation fault when accessing the returned array 中使用指针的数组

python - 提高数组处理的性能

c++ - 重载字符串的插入和提取运算符