请问要怎么在不修改TXT文件的情况下
读取TXT文件到阵列, 一维或二维都可以
TXT文件内容如下
Reference 2011 to 2012
% change for the year
$22.03B
$29.09B
文件里"% change for the year"不需要读取
"$22.03B"跟"$29.09B"中的$跟B是不需要的
读取后, 将22.03跟29.09相加
输出结果在屏幕上
结果:
Reference 2011 to 2012
22.03 29.09
total = 51.12
请高手帮忙
C++读取TXT文件到阵列,并做简单相加,输出结果在屏幕上
答案:2 悬赏:40 手机版
解决时间 2021-02-21 05:20
- 提问者网友:谁的错
- 2021-02-21 00:53
最佳答案
- 五星知识达人网友:洒脱疯子
- 2021-02-21 01:25
#include
#include
#include
using namespace std;
void main()
{ FILE *fp;
char buffer[256];
int n=0;
float a[2];
if ( fp=fopen("data.txt","r") )
{ while ( !feof(fp) )
{ fgets(buffer,256,fp);
if ( buffer[0]=='$' ) { a[n]=atof(buffer+1); n++; if ( n>=2 ) break; }
}
fclose(fp);
if ( n>=2 ) printf("%.2f %.2f\ntotal = %.2f\n",a[0]+0.005,a[1]+0.005,a[0]+a[1]+0.005);
}
else cout<<"无法打开文件读取。"<
}
#include
#include
using namespace std;
void main()
{ FILE *fp;
char buffer[256];
int n=0;
float a[2];
if ( fp=fopen("data.txt","r") )
{ while ( !feof(fp) )
{ fgets(buffer,256,fp);
if ( buffer[0]=='$' ) { a[n]=atof(buffer+1); n++; if ( n>=2 ) break; }
}
fclose(fp);
if ( n>=2 ) printf("%.2f %.2f\ntotal = %.2f\n",a[0]+0.005,a[1]+0.005,a[0]+a[1]+0.005);
}
else cout<<"无法打开文件读取。"<
全部回答
- 1楼网友:未来江山和你
- 2021-02-21 02:41
#include
#include
int const MAX = 1024; //
double strtd(char s[]) {
int i,j;
for(i = 0,j = 0; s[i]; ++i) {
if((s[i] >= '0' && s[i] <= '9') || s[i] == '.')
s[j++] = s[i];
}
s[j] = '\0';
return atof(s);
}
int main() {
char ref[60],tmp[60];
char filename[] = "data.txt"; // 数据文件名
double num[MAX],total;
int n = 0;
FILE *fin = fopen(filename,"rt");
if(fin == NULL) {
printf("打开文件\"%s\"失败!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯