找回密码
 注册
Simdroid-非首页
查看: 284|回复: 2

[2. C/C++/C#] c++读入和书写txt文件的问题

[复制链接]
发表于 2011-1-15 23:27:01 | 显示全部楼层 |阅读模式 来自 吉林长春
各位师兄,你们好,小弟是个菜鸟,我今天编写了程序,程序的目的是从inset.txt中读入半径(R)和高度(H)数据,通过程序计算出面积(area)和体积(v)。然后将面积和体积写到output.txt文件中。我的程序如下:#include <stdio.h>
#include <math.h>
void main ()
{FILE *in,*out;
float R,H, Area,V;
in=fopen("e:\inset.txt","rb+");
fscanf(in,"%f,%f",&R,&H);
Area=2*3.14*R*H+2*3.14*R*R;
V=3.14*R*R*H;
out=fopen("e:\output.txt","wb+");
fprintf(out,"%f,%f",&Area,&V);
}
我在inset中输入的数据为1 ,1,但是输出的数据为0和0.无论我怎么改动输入,得到的输出都是一样,希望各位老鸟能帮我解答一下
发表于 2011-1-24 09:35:52 | 显示全部楼层 来自 日本
Simdroid开发平台
在fopen里,你加了个b,那表明你要以二进制读数据
但是你的inset.txt是文本,所以读错了
回复 不支持

使用道具 举报

发表于 2012-2-19 20:40:06 | 显示全部楼层 来自 上海
程序可以这样在vs2005中调试的  达到要求
#include "stdafx.h"

#include<iostream>
using namespace std;
#include <stdio.h>
#include <math.h>
void main ()
{
                                    FILE  *tin,*out;
                                        float R,H, Area,V;
                                          errno_t err;
                                        err=fopen_s(&tin,"C:\\Users\\yang\\Desktop\\temp.txt","r+");
                                 fscanf_s(tin,"%f %f",&R,&H);
                                        Area=2*3.14*R*H+2*3.14*R*R;
                                        V=3.14*R*R*H;
                                        err=fopen_s(&out,"C:\\Users\\yang\\Desktop\\out.txt","w+");
                                        fprintf_s(out,"%f,%f",Area,V);
}
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2026-1-8 00:36 , Processed in 0.028656 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表