|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 小咒 于 2015-6-2 23:04 编辑
自己解决了,放纵了自己半个月逻辑混乱了,复习了一天解决。。。
整理一个txt文本的内容,txt文本内容如下
- sh600135 乐凯胶片 10:12:36 26 41194 25.99 买盘
- sh600135 乐凯胶片 10:12:06 25.96 53400 25.96 买盘
- sh600135 乐凯胶片 10:11:21 25.96 36200 25.9 买盘
- sh600135 乐凯胶片 10:11:06 25.9 50500 25.9 卖盘
- sh600135 乐凯胶片 10:09:30 25.88 27300 25.88 卖盘
- sh600135 乐凯胶片 10:09:05 25.88 49600 25.96 卖盘
复制代码 有规律的只显示出买盘信息或者卖盘信息,自己是思路是这样的,判断6个横向符之后读取买盘或者卖盘的字节用strcmp来做比较然后显示到屏幕上。
但是代码写来写去和预计的实在差太原。。大家来帮我看看吧谢谢。
- #include <stdio.h>
- #include <string.h>
- int main()
- {
- int yy = 0;//比较
- int a = 0;//计数
- long zz = 0;//文件光标偏移
- char x = 0;
- char s1[5];
- char s2[5] = "买盘";
- char s3[1024];
- FILE *fp1;
- errno_t err;
- if (err = fopen_s(&fp1, "1.txt", "r") != NULL)
- {
- printf("没有找到1.txt\n");
- system("pause");
- exit(0);
- }
- rewind(fp1);
- while (!feof(fp1))
- {
- if (x == 10)
- {
- zz = ftell(fp1);//当运行到换行时获取偏移
- }
- x = fgetc(fp1);
- if (x == 9)//判断横向
- {
- a++;
- if (a == 6)//第六个横向时读取数据
- {
- a = 0;
- fgets(s1,sizeof(s1),fp1);//读取4个字节数据
- //printf("%s", s1);
- }
- yy = 1;
- yy = strcmp(s1, s2);//进行比较
- //printf("%d\n", yy);
- if (yy == 0)//相同的话进行输出
- {
- fseek(fp1, zz, SEEK_SET);
- fgets(s3, sizeof(s3), fp1);
- printf("%s", s3);
- }
- }
- }
- system("pause");
- return 0;
- }
复制代码
|
|