C++从文本文件中读取部分内容
比如文件数据如下:%ADD10R,1.50X1.30*%%ADD11R,0.60X2.50*%%ADD12R,2.00X1.80*%%ADD13R,1.00X1.10*%...
比如文件数据如下:
%ADD10R,1.50X1.30*%
%ADD11R,0.60X2.50*%
%ADD12R,2.00X1.80*%
%ADD13R,1.00X1.10*%
%ADD14R,0.38X1.02*%
%ADD15R,0.60X2.20*%
%ADD16R,0.60X2.20*%
%ADD17R,0.30X1.60*%
%ADD18R,1.60X0.30*%
%ADD19R,1.10X1.00*%
%ADD20R,0.50X1.60*%
%ADD21R,1.60X0.50*%
%ADD22R,1.00X2.00*%
%ADD23R,0.80X1.10*%
%ADD24R,1.52X2.29*%
%ADD25R,2.29X1.52*%
%ADD26R,4.40X6.00*%
%ADD27R,0.91X2.16*%
%ADD28R,10.80X10.41*%
%ADD29R,1.40X3.00*%
%ADD30R,1.30X1.50*%
%ADD31R,1.02X0.38*%
%ADD32R,1.10X0.80*%
%ADD33R,1.10X0.80*%
%ADD34R,6.00X6.50*%
%ADD35C,0.15*%
%ADD36C,1.27*%
%ADD37C,0.76*%
%ADD38C,0.51*%
%ADD39C,1.02*%
%ADD40C,1.52*%
%ADD41C,1.02*%
%ADD42C,1.12*%
%ADD43C,1.50*%
如何用C++获取其中的D10 D11 D12 D13 D14 D15... 展开
%ADD10R,1.50X1.30*%
%ADD11R,0.60X2.50*%
%ADD12R,2.00X1.80*%
%ADD13R,1.00X1.10*%
%ADD14R,0.38X1.02*%
%ADD15R,0.60X2.20*%
%ADD16R,0.60X2.20*%
%ADD17R,0.30X1.60*%
%ADD18R,1.60X0.30*%
%ADD19R,1.10X1.00*%
%ADD20R,0.50X1.60*%
%ADD21R,1.60X0.50*%
%ADD22R,1.00X2.00*%
%ADD23R,0.80X1.10*%
%ADD24R,1.52X2.29*%
%ADD25R,2.29X1.52*%
%ADD26R,4.40X6.00*%
%ADD27R,0.91X2.16*%
%ADD28R,10.80X10.41*%
%ADD29R,1.40X3.00*%
%ADD30R,1.30X1.50*%
%ADD31R,1.02X0.38*%
%ADD32R,1.10X0.80*%
%ADD33R,1.10X0.80*%
%ADD34R,6.00X6.50*%
%ADD35C,0.15*%
%ADD36C,1.27*%
%ADD37C,0.76*%
%ADD38C,0.51*%
%ADD39C,1.02*%
%ADD40C,1.52*%
%ADD41C,1.02*%
%ADD42C,1.12*%
%ADD43C,1.50*%
如何用C++获取其中的D10 D11 D12 D13 D14 D15... 展开
3个回答
展开全部
假定跳过3个字符,接下来读入 3个字符组成的 16 进制数: D10 D11 D12 D13 D14 D15。
这里按C语言写成:
#include <stdio.h>
#include <stdlib.h>
main()
{
FILE *fin;
int x[100];
char namein[]="a.txt";
char one_line[80];
int i,j,n=0;
fin = fopen(namein,"r");
if (!fin) {
printf("Can not open %s\n",namein);
return 0;
}
while (1){
if ( fgets(one_line,80,fin) ==NULL) break;
j = sscanf(one_line,"%*3s%3x",&x[n]); // 窍门在这句
if (j==1) n++; // 跳过空白行和错行
}
fclose(fin);
for (i=0;i<n;i++) printf("%4X\n",x[i]);
return 0;
}
--
头文件 加
#include <iostream>
using namespace std;
就是 C++, 一样用。
这里按C语言写成:
#include <stdio.h>
#include <stdlib.h>
main()
{
FILE *fin;
int x[100];
char namein[]="a.txt";
char one_line[80];
int i,j,n=0;
fin = fopen(namein,"r");
if (!fin) {
printf("Can not open %s\n",namein);
return 0;
}
while (1){
if ( fgets(one_line,80,fin) ==NULL) break;
j = sscanf(one_line,"%*3s%3x",&x[n]); // 窍门在这句
if (j==1) n++; // 跳过空白行和错行
}
fclose(fin);
for (i=0;i<n;i++) printf("%4X\n",x[i]);
return 0;
}
--
头文件 加
#include <iostream>
using namespace std;
就是 C++, 一样用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询