从打开的文件中随机提取字符串

来源:互联网 发布:ubuntu可以安装在u盘 编辑:程序博客网 时间:2024/05/28 16:06

问题出处:《C专家编程》A.9(记不太清了)

编译环境vs08。

/******************************************从打开的字符串文件中随机提取字符串 ******************************************/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#define  FILEPATH "hello.txt"#define  MAXLEN 255void randStr(FILE *fp, char *str);int main(int argc, char **argv){FILE *fp;char *str = (char *)malloc(MAXLEN+1);if (str == NULL){return 1;}if ( (fp = fopen(FILEPATH, "r")) == NULL){printf("Open file error!\n");}else{randStr(fp, str);printf("%s", str);fclose(fp);free(str);}return 0;}void randStr(FILE *fp, char *str){int lineNum = 0;srand(time(NULL));char buf[MAXLEN];if (NULL == fp){return ;}while ( (fgets(buf, MAXLEN, fp)) != NULL){lineNum++;if (rand()%lineNum < 1){strcpy(str, buf);}}}


原创粉丝点击