我尝试输出文件内容,但是我需要为每个字符添加+20,因为文件中的字符会被-20移动。输出内容有效,但到达文件末尾时,Ù
循环打印。谁能帮我提供我的代码?
while ((holder = (fgetc(dateiGlob)-ENC_NUM)) != EOF) // ENC_Num = 20
{
if (holder == ';') // Replace ;
{
printf("\n");
holder = '\0';
}
if (holder == '/') // Replace /
{
printf(" | Anmerkung: ");
holder = '\0';
}
putchar(holder); // Print in stdout
}
printf("\n");
}
当ENC_NUM设置为0时,再次发现EOF。我需要更改什么?谢谢!
仔细检查您的身体状况。
(fgetc(dateiGlob) - ENC_NUM) != EOF
如果设置为ENC_NUM = 0
,则条件变为fgetc(dateiGlob) != EOF
,这是在结束时停止读取文件所需要的。
现在,如果要更改条件的左侧(通过使ENC_NUM
为非零整数),则还需要以相同的方式更改其右侧(以保留逻辑):] >
(fgetc(dateiGlob) - ENC_NUM) != (EOF - ENC_NUM)
// ^^^^^^^^^ ^^^^^^^^^