scanf读取文件规则

int main()
{
FILE *fp;
char username0[20]={""};
char passwd0[20]={""};
int s=0;
typedef struct users Users;
Users next={"","","",};
fp=fopen("data.txt","r+");
printf("请输入用户名");
scanf("%s",username0);
printf("请输入密码");
scanf("%s",passwd0);
while(s!=EOF)
{
s=fscanf(fp,"%s\t%s\t%s\t%d\n",next.username,next.passwd,next.name,&next.uid);
if((strcmp(next.username,username0)==0)&&(strcmp(next.passwd,passwd0)==0))
{
printf("%s\t",next.name);
printf("%d\n",next.uid);
/*此处增加函数*/
}
}//while(s!=EOF);//猜测原因:读到EOF时,程序继续执行一次,此时,值仍然是前一次读到的值,所以此处改用while替代do-while
fclose(fp);
return 0;
}

时间: 2024-10-09 22:07:18

scanf读取文件规则的相关文章

Java中读取文件按照规则分割然后输出

import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.Reader; import java.util.ArrayList; import java.util.List; /** * @author 码农小江 * H

C语言tips_2 关于scanf 读取规则小结

第一点:scanf默认回车和空格是输入不同组之间的间隔和结束符号. 也就是说他不会读取 空格 和 换行符.而是把他们当作一个 数据被读取完成的标志! 例子   两种输入方式 第二点 若要scanf 读取到 换行符或者是空格 需要用 %c 来表示例如这样 可以看到第一个换行符 和之后的空格全部读取到了. 原文地址:https://www.cnblogs.com/LuoRuidiLoveMiku/p/11370308.html

java读取文件的万能解决方案

对于读取文件可以分为两个步骤: 1. 找到该文件的绝对路径 2. 根据获取到的文件绝对路径通过File来创建文件对象,然后根据相应的api进行读取文件中的内容 在这两步中找到该文件的绝对路径最为重要,所以我在下面的讲解中主要讲解如果获取文件的绝对路径, 对于获取到文件的绝对路径以后再文件中的具体内容我会在最后案例中给出 同时由于我们在使用meclipse进行开发的时候可以创建两种工程java project和 j2ee (web项目),下面介绍这两类工程下如何获取文件的绝对路径 1. java

java--正则表达式的应用:读取文件,获取其中的电话号码

1.正则表达式 正则表达式,又称 正规表示法 . 常规表示法 (英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 用到的一些特殊构造正则表达式的意义解析: ? 当该字符 紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的.非贪婪模式尽可能少的匹配

用结构体读取文件

#include<stdio.h>#include<stdlib.h>#include<string.h> int main(void){ struct data { char id[20]; char name[20]; char sex[10]; int old; char number[20]; char habit[10]; char b[10]; int piao; } student[10]; FILE *fp; if((fp=fopen("shi

PHP如何正确读取文件内容?解析

PHP 读取文件的多种方法,一起来看看吧. 处理诸如 PHP 之类的现代编程语言的乐趣之一就是有大量的选项可用.PHP 可以轻松地赢得 Perl 的座右铭“There's more than one way to do it”(并非只有一种方法可做这件事),尤其是在文件处理上.但是在这么多可用的选项中,哪一种是完成作业的最佳工具?当然,实际答案取决于解析文件的目标,因此值得花时间探究所有选项. 回页首 传统的 fopen 方法 fopen 方法可能是以前的 C 和 C++ 程序员最熟悉的,因为如

C++/Php/Python/Shell 程序按行读取文件或者控制台

写程序经常需要用到从文件或者标准输入中按行读取信息,这里汇总一下.方便使用 1. C++ 读取文件 1 #include<stdio.h> 2 #include<string.h> 3 4 int main(){ 5 const char* in_file = "input_file_name"; 6 const char* out_file = "output_file_name"; 7 8 FILE *p_in = fopen(in_fi

解决Python读取文件时出现UnicodeDecodeError: &#39;gbk&#39; codec can&#39;t decode byte...

用Python在读取某个html文件时会遇到下面问题: 出问题的代码: 1 if __name__ == '__main__': 2 fileHandler = open('../report.html', mode='r') 3 4 report_lines = fileHandler.readlines() 5 for line in report_lines: 6 print(line.rstrip()) 修改方式是在open方法指定参数encoding='UTF-8': if __nam

Java如何实现按指定行读取文件

最近在开发实战中,遇到了一个这样的技术情景: 把log4j生成的日志文件定时刷进MySQL数据库,比如三个小时刷一次,那么每次刷数据的时候,如何控制文件读取是从上一次文件读取结束的地方开始继续读取的?并且本次要读取到文件结尾处.在网上各种搜索提问后,找到了一个叫RandomAccessFile Java类解决了问题. 先上代码: static int size=1;//主要是为了控制循环的次数,因为是定时刷,每次刷的文件行数可能不一样 static long chars=0;//chars指的是