gpt4 book ai didi

c - 读取文件时如何更改数组值

转载 作者:太空宇宙 更新时间:2023-11-04 02:56:56 27 4
gpt4 key购买 nike

我必须从我从文件中读取的内容更改主函数中定义为全局变量的整数数组的值,读取过程是 k,char 与“x”字符串的比较是 k ,但是在数组的位置 i 上分配新值不起作用。

//global variable
int matrix[55];

static void main()
{

FILE *readFile;
char *caracter;
readFile = fopen(fileName,"r");
int i;

if (readFile == NULL)
{
g_print ("\nError");
}
else
{
while (caracter != EOF)
{
caracter = fgetc(archivo);
if (caracter == '*')
matrix[i] = 1;
if (caracter == ' ')
matrix[i] = 2;
if (caracter == '+')
matrix[i] = 3;
if (caracter == 'S')
matrix[i] = 4;
if (caracter == 'S')
matrix[i] = 5;
if (caracter == 'R')
matrix[i] = 6;
else
matrix[i] = 7;
i++;
g_print ("%d", mapaJuego[i]);
}
}
}

最佳答案

您的变量 caracter 是一个指针。如果您阅读文档到 fgetc你会看到它返回一个 int

您还在 caracter 初始化之前使用它,这意味着它实际上可以 EOF,即使您还没有阅读它。

首先要做的当然是固定类型。第二个应该是将循环条件更改为:

while ((caracter = fgetc(archivo)) != EOF)

它在一个表达式中执行赋值检查错误/文件结尾。

关于c - 读取文件时如何更改数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16258270/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com