将数组打印到文件仅打印第一个元素

Printing Array to file only prints first element

我目前正在尝试使用结构 "test" 来打印用户输入的 10 个随机事物的数组。程序编译并运行,但是在我输入最后的第 10 个项目后,.txt 文件只包含我 entered.I 尝试移动调用 fprintf 函数的区域的第一个元素,但是我的尝试那是无济于事的。如有任何意见,我们将不胜感激。

继续只打印第一个元素(即我首先输入的内容)

#include <stdio.h>
#include <ncurses.h>
//EDIT NEW CODE UPDATED, BUT IT STILL ONLY PRINTS THE FIRST ELEMENT\
typedef struct test
{

    char test[10];
}test;

int main(void)
{
  initscr();
  cbreak();
  noecho();

  testFunction();
}

int testFunction()
{
    int i;
    test inputString[10];

    FILE *f = fopen("file.txt", "w");
    for(i=0;i<10;i++)
    {
        mvprintw(50,50,"Please enter a 10 things");
        getstr(inputString[i].test);
        fprintf(f, "%s\n", inputString[i].test);

    }
       fclose(f);


}

您正在循环中关闭您的文件,而不是再次打开它。

将 fclose() 调用移到循环之外。

顺便说一下,您不需要 while 循环。