c - 如何使用 scanf() 读取包含 C 中空格的文件
问题描述
我不允许调用 C 库中除 、 和 之外的scanf
任何printf
函数feof
。当我尝试使用下面的代码时,它只会读取一个最多为空格字符的文件。有没有办法在不使用的情况下阅读整行"%[^\n]"
?我的最终目标是使用feof
file 读取整个文件,但首先,我需要知道如何使用scanf
. 可能吗?
#include <stdio.h>
int main(){
char ar[50];
scanf("%s", ar);
printf("%s", ar);
}
解决方案
一次读一个字符。
#include <stdio.h>
int main(void) {
char ch;
while (scanf("%c", &ch) == 1) {
printf("%c", ch);
}
}
PS永远不要为生产代码这样做,也不要在简历上承认你这样做了。
遵循@zwol 的建议。
“我的最终目标是使用 feof 文件读取整个文件” -->为什么“while (!feof (file))”总是错误的?.
推荐阅读
- rxjs - 使用自动滚动拖放(dom-autoscrolling)
- javascript - 如何从数组中获取上一个和下一个 id
- python - 每次如何为结果创建唯一的参考?
- html - 从左到右切换导航栏引导程序
- ruby-on-rails - 0:Fixnum Prawn/Rails 的未定义方法“删除”
- asp.net - 使用 Windows 身份验证时会话超时是否可行?
- c++ - 将 std::regex 设为静态是个好主意吗?
- amazon-web-services - 如何加快两个帐户之间的文件复制速度
- python - 如何遍历带有嵌套字典的列表?
- reporting-services - 在参数 ssrs(rdl) 中将特定值设为默认值