最近看了计科班的习题 很多都是和文件读取有关的 决定练习一下
用到的函数:freopen()以下解释来源于百度百科:
freopen是被包含于C标准库头文件<stdio.h>中的一个函数,用于重定向输入输出流。该函数可以在不改变代码原貌的情况下改变输入输出环境,但使用时应当保证流是可靠的。
---------------------------------------
用这个函数可以把scanf的输入重定义到文件 在测试大量数据时非常实用。
#include<stdio.h> #include<string.h> int main() { char word[80],tmp[80],mean[100]; start:while(printf("What's the word?")) { freopen("CON","r",stdin);//windows下恢复键盘输入 //freopen( "/dev/tty", "w", stdout );//其他系统 scanf("%s",tmp); freopen("a.dat","r",stdin); while(scanf("%s %s",word,mean)!=EOF) { if(strcmp(word,tmp)==0){printf("The word means:%s\n",mean);goto start;} } printf("The word not found!\n"); } }
a.dat
a 1
b 2
c 3
因为是边读边找 效率太低 改成折半会好些
原文地址:http://blog.csdn.net/qq754406613/article/details/43052647