首页 文章

使用fgets从文本文件填充数组

提问于
浏览
0

我有这个类的程序,我们只需要显示我们可以从文本和二进制文件中读取,写入和填充数组 . 我没有很多发布的二进制文件,但文本文件给了很多时间脑痛 .

我相信这一小段代码应该受到指责 . userInputText [MAXSIZE]是一个char数组(MAXSIZE定义为100000),当程序此时,textCount和textCounter都被初始化为零 .

textPointer = fopen("textFile.txt", "r");
if (textPointer) 
{
    while (fgets(userInputText, sizeof(userInputText), textPointer) != NULL)
    {
        sscanf(userInputText, "%d", &textCount);
        userInputText[textCounter] = textCount;
        textCounter += 1;
    }
}

当用户首次运行程序时,将跳过该程序的这一部分,并要求用户创建并写入文本文件 . 用户输入整数,它们被写入文本文件并存储在userInputText中,并在程序结束时显示在屏幕上 . 所有这些工作正常,每次程序运行时都会正确附加文本文件 . 我已经尝试过在上面的代码中我能想到的每一个组合 . 我尝试过使用fopen(r),sizeof(int和MAXSIZE),尝试使用%d . 在我的fprintf部分后面的程序中,我将“\ n”设置为分隔符,但我也尝试删除它 . 我把fgets换掉了fgets . 我已经到了一个地方,我就像一只狒狒在这个问题上扔便便一样 .

我不希望人们认为我很懒,寻找一个简单的答案,精神残疾可能但不是懒惰 .

有什么建议?

谢谢,

麦克风

1 回答

  • 0

    试试 while( !feof(textPointer) ) { fgets(userInputText,MAXSIZE,textPointer); }

    sizeof(userInputText) 只返回char指针的大小 .

相关问题