C - fscanf 混合数字和静态文本

标签 c scanf

我正在尝试读取以这种通用方式格式化的文件:

Text Description: 12
Description2: 1
More descriptive things: 6

我想将数字 12、1 和 6 读入变量。

我试过这样的代码:

fscanf(fptr, "Text Description:%d",&desc1);
fscanf(fptr, "Description2:%d",&desc2);
fscanf(fptr, "More descriptive things:%d",&desc3);

但出于某种原因,只有第一个变量被填充。有谁知道为什么会这样?

最佳答案

在字符串格式的开头添加空格以避免换行问题

fscanf(fptr, " Text Description:%d",&desc1);
fscanf(fptr, " Description2:%d",&desc2);
fscanf(fptr, " More descriptive things:%d",&desc3);

关于C - fscanf 混合数字和静态文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15299291/

相关文章:

c - 在 C 中的 fork 进程内的 scanf 之前调用 Printf

c - 使用 scanf() 从括号中读取逗号分隔值

c - Keil u Vision4乱码

c - 在函数中分配多维数组

写入数据报套接字是否可以引发 SIGPIPE?

c - 如何修复此比较字符串(来自 argv 和 scanf)程序?

c - 通过 ID 在文本文件中搜索名称

c - C语言中如何使用栈将十进制转换为二进制

c - 打印字符数组

c++ - 我可以将 `stdin` 配置为从 C++ 字符串中读取吗?