下沙论坛

 找回密码
 注册论坛(EC通行证)

用新浪微博连接

一步搞定

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 6245|回复: 2
打印 上一主题 下一主题

basic_ifstream tellg ws

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2006-3-19 18:34:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
平台:    Redhat Linux AS 4$ j! `" H2 }, |6 u7 R0 T. x 编译器  g++ 3.2.3 " X* X9 o. l& ?$ F: |输源代码 : D. F* ^) V5 G5 S6 m#include 6 d7 a, T a) E! }7 N! n; E. j #include . s# G* z$ I1 d9 u W #include 4 f! w! u5 |: m0 ^* J8 ~6 N/ o#include 5 M0 G1 z3 [) j+ @( I! Pusing namespace std; 9 f0 a; [4 o* Z8 A7 aint main()* s# @4 J( j5 y {& e( f" S) ?! k6 k4 _$ C //cout<<"Hello World\n";" w/ Y+ W1 m- Z; o ! A, N8 Z/ c) F( t R //block until user types something; F/ Z. ?$ D0 P3 G0 u: v! b basic_ifstream fi;, {6 p$ ~) R6 ^2 e8 r2 f7 c+ A wstring s; 0 d! |' c1 t. B7 b" e- W2 h fi.open("/root/workspace/test/123.txt"); . T4 E2 o% M; S# Q3 C cout<# I1 X# P$ }; z, S ws(fi);    //去除空白5 ^0 R+ w. ^$ ?1 U" R fi.tellg();   //读一下下一个读取位置   [U]没被注释掉[/U]---〉第一种情况# y' E- X6 a) S7 F [U]被注释掉[/U]---〉第二种情况 9 X' H* h) r. A6 p getline(fi,s); //读一行4 ]$ Y/ m* ~$ R7 Y wcout<1 q' h: G! e+ ^8 c) E fgetc(stdin);# h' \! _1 G- z& f$ a0 g return 0; + }- E0 j) C- t7 H H} 5 @+ w- N* }8 ]' x" P) S, y. w& M4 E+ F /*" F |& _$ C/ A K( d2 d 123.txt内容在下面一行的引号内,引号内第一个是空格: ^! g& v6 f5 D4 r! V " #define" ( c2 r/ M* }/ q/ A1 a*/ * |" k7 l" W: Q输出 4 D3 _6 U6 S0 l2 g(第一种情况和第二种情况都是下面的样子([U]#前面没有空格[/U])) - ~( P/ u0 P, ~$ D 1 & Q1 ^; w7 o2 j( E8 f#define6 D* o7 [+ f! m f ///////////////////////////////////////////////////////////////////////////////////////////* E( A, i3 Y" n" a$ n 平台:    winxp4 b1 s, A* B' p" c# R, H. T+ M 编译器  [U]ms ml 8.0.50727.42 (vc++ 2005)[/U]---〉情况A; F2 K( V; z9 v6 o+ _ [U]ms ml ????(忘了,就是vc++6.0的)[/U]---〉情况B8 ]# R; Z% N- d 输源代码 . u$ o* v! O. v0 ]3 A1 j#include % B- n/ U0 j5 \+ F9 q0 [#include ) N1 f# m" R% }( L% p j #include , m6 o7 ?& X/ o3 e9 j#include " B" k" K& Y3 D$ y) ~2 z1 X using namespace std; 7 ]$ {% e. L }. aint main() & V0 o. l2 _0 V{6 ^5 B, V8 U4 x9 ` //cout<<"Hello World\n";% o2 R$ R: c1 Z' m; Q! P3 N0 O3 Z 4 V" v- A# _' J3 U- W& e0 I( a //block until user types something ) \) R$ J* U- G1 d0 d basic_ifstream fi; 2 d+ d/ j, i2 ]: O. r! d! E' w; A wstring s;. ]2 [) ^' W. j1 ~ fi.open("123.txt"); 2 U. c9 @- I) F. w, k cout<5 r' ]5 A7 A/ G! ~: H8 h j ws(fi);' e3 O" j8 P- Q* c //fi.tellg(); [U] //被注释掉[/U]---〉第一种情况 1 B/ [0 x& c+ `/ W [U]//没被注释掉[/U]---〉第二种情况3 t! u3 v& b* a3 B: U; A getline(fi,s); K& K' I4 Y7 m3 P+ ~6 f+ U wcout<3 d* ^/ E7 _( ?6 ^: A! y fgetc(stdin);+ ]) e3 R, q3 \/ j' F7 a8 V9 E return 0; 1 k# B; T+ n2 e& _1 t9 T} ( |5 O- \) B i9 G. P; o+ a# k 9 t/ ]& [: a7 i6 M4 [- o; n) Q /*" o- D$ Q i& A$ W5 `0 r; K 123.txt内容在下面一行的引号内,引号内第一个是空格 ; ^# ^, a& q' a: A$ |" #define"- ^5 v) S* D! C */ 2 i {' ]6 c3 N u输出2 l7 b5 o) J9 \1 f/ B( C (情况A+第一种情况) 9 d5 |- N$ C, Y5 |0 Q/ @ 1$ }/ t+ ]9 s/ e; } #define 4 H( Z$ q+ S0 {(跟g++一样)3 u1 f4 @7 A/ F, v" R' ], Q: m1 X (情况A+第二种情况)$ t v, H' P; B) a8 o# v4 |$ N4 x1 U9 R9 d 1 ! D$ S! `2 g+ Q/ udefine / t) v0 M" l9 v# J% D7 x7 L8 U(跟g++[U]不[/U]一样,少了#,是tellg()导致?) 9 ~" t+ z: N7 v//////////////////////////////////////////// R1 z9 s/ z' x0 |(情况B+第一种情况/第二种情况)" K) Y1 L2 O2 L; l, c 1( w6 V% H. v3 R! p #define+ h: H1 b7 ]4 _, N" }% _ F (跟g++[U]不[/U]一样,#前多了空格,ws没作用?)* n3 X9 |( _2 o/ _& S3 G //-------------------------------------------------------------------------- 2 C* g5 U7 r ]" z- k: U评价如下: 6 |! M! Z# s3 @/ y按照理论5 y2 [2 V @5 L5 e g++两种情况下的输出都是对的 0 a( [4 A+ S6 X# i' I5 uvc++2005只有第一种情况对 + F5 y9 h; R# d- r4 s. \3 Avc++6两种情况都有问题 8 ^+ ^% ~) V" h) F现在的问题是,这样的评价有没有问题,输出为什么不同? ; w0 T( q: I( r9 E" X4 j; s(本人希望得到g++的输出,根据文档就应该这样)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩 转发到微博

该用户从未签到

2
发表于 2006-3-19 21:33:00 | 只看该作者

代码好多啊,我最近眼有点花,飘过。

回复 支持 反对

使用道具 举报

该用户从未签到

3
 楼主| 发表于 2006-3-27 22:10:00 | 只看该作者
难道就没人碰上过这个问题??6 C2 K% R& n9 T1 A2 K 注: ( i/ S' O. r3 V7 B$ W1楼帖子的内容显示是有问题的' _ W# h0 `7 q7 `$ ?* x) h/ ^ 比如“#include”,后面的内容显示不出来' u7 d2 R2 I/ W8 L6 H3 y 比如“cout<”,后面的内容显示不出来
回复 支持 反对

使用道具 举报

本版积分规则

关闭

下沙大学生网推荐上一条 /1 下一条

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