随机数的产生--随机文本串的生成
2015-12-21 21:48
435 查看
数字的产生,字符串的随机生成,直接贴代码了
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <iostream> #include <string> #include <vector> #define N 10240 int main(int argc, char *argv[]) { if(argc < 3) { printf("Usage : %s infile outfile\n", argv[0]); exit(-1); } FILE *fp_in, *fp_out; fp_in = fopen(argv[1], "rb"); fp_out = fopen(argv[2], "wb"); if(NULL == fp_in || NULL == fp_out) { printf("Open file wrong!\n"); exit(-1); } char numDic[11] ; int i = 0; for( i = 0; i < 11; ++ i) memset(numDic[i], 0, N); char buf ; char *p1 = NULL, *p2 = NULL; int len = 0; int cnt = 0; while(fgets(buf, N, fp_in)) { len = strlen(buf); while('\t' == buf[len - 1] || ' ' == buf[len - 1] || '\n' == buf[len - 1]) -- len; buf[len] = '\0'; p1 = &buf[0]; p2 = strrchr(p1, '|'); while(p2) { *p2 = '\0'; ++ p2; strcpy(numDic[cnt ++], p2); p2 = strrchr(p1, '|'); } strcpy(numDic[cnt ++], p1); } int arr1[1000], arr2[100]; srand( (unsigned)time(NULL) ); for(i = 0; i < 1000; ++ i) arr1[i] = rand() % 10; for(i = 0; i < 100; ++ i) arr2[i] = rand() % 10; int j = 0, ind = 0; cnt = 0; for(i = 0; i < 100; ++ i) { for(j = 0; j <= arr2[i]; ++ j) { ind = arr1[cnt ++]; fprintf(fp_out, "%s", numDic[ind]); } fprintf(fp_out, "\n"); } fclose(fp_in); fclose(fp_out); return 0; }
相关文章推荐
- 2015sdutacm第二次循环赛--3393
- linux下如何查看某软件是否已安装
- Mantis配置资料和坑
- 引导界面(只显示一次)的实现
- android shape的使用
- Linux/Unix下的vi文本编辑器
- Java获取Oracle中CLOB字段转换成String
- 串口通讯—通信协议
- 黑马程序员--C语言自学笔记---11数组、指针、推箱子小游戏
- Mars 老师 Android 教程之 Activity 生命周期学习笔记
- [笔记][FPGA]如何使用SignalTap观察wire与reg值
- 简论C-数组和指针
- java泛型
- MantisBT简介
- Educational Codeforces Round 3:E (MST+树链剖分+RMQ)
- CentOS Apache安装与配置
- Tomcat下部署多个项目
- 杭电 2128 Tempter of the Bone II(广搜)bfs+优先队列+伴随map
- C#分割字符串
- JAVA概念大全