gpt4 book ai didi

c - fprintf 误解和未处理的异常

转载 作者:行者123 更新时间:2023-11-30 17:16:51 26 4
gpt4 key购买 nike

这里有一段代码:

long long someNumber;
...

do{
...
scanf("%d", &someNumber);
...
} while (...);
fprintf(someFile, "%d", someNumber);

我需要读取一个包含 11 个字符的数字。我已经尝试了所有 scanf() 和 fprintf() 模式,例如“%Ld”、“%lld”等,但结果始终不是我打印的内容。但这甚至不是我的问题。然后当我输入 ENTER 时 VS 给我一个错误:“proj2.2.exe 中 0x54A0F365 (msvcr120d.dll) 处出现未处理的异常:0xC0000005:读取位置 0x0000000A 时发生访问冲突。”它打开“output.c”并引用以下行:

while ((ch = *format++) != _T('\0') && charsout >= 0) {

实际上,它在文件中打印了错误的数字。但错误不允许程序继续工作。发生什么事了?我的错误在哪里?

最佳答案

the docslong long 类型的正确数据类型说明符是 ll。您需要将其与 scanf()printf() 一起使用:

long long someNumber;

scanf("%lld", &someNumber);
printf("%lld", someNumber);

如果按上述方式修复字段说明符无法解决您的问题,那么您的代码中的其他地方还存在其他问题。

关于c - fprintf 误解和未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29543834/

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