下沙论坛

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

用新浪微博连接

一步搞定

QQ登录

QQ登录

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

basic_ifstream tellg ws

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2006-3-19 18:34:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
平台:    Redhat Linux AS 4 ( {( v1 `# r, Y" }编译器  g++ 3.2.3 ) u) p1 U; A3 A& `- y( X2 D+ C9 }输源代码: M$ J/ g0 k7 |' P( {* Y #include 5 O; [0 H' G3 Q6 s% M# `0 A5 T# J#include 2 Z u& g, i( K! \- Y6 r#include : u! _9 W# `# D, Y: J' u #include & A# U; ~$ D7 S$ C, n1 `( f) Kusing namespace std;9 G1 h+ p6 j+ F. d/ {$ P int main() + J! n$ J4 w2 c: c( t8 B{ ' E6 K% o+ | p- X" | //cout<<"Hello World\n";8 {# r9 Q+ C$ ~9 @5 T, P+ @ ' ^* g5 W9 p$ c' }3 [ r$ A" i //block until user types something , w5 {0 g6 }* a4 t$ ] basic_ifstream fi; , k2 m$ r. H) ?; H8 I) v5 ]' X wstring s; , U( a: q: B( j, J4 j2 H fi.open("/root/workspace/test/123.txt");" b3 y3 M, O% H2 ]; A cout<1 l; I& k; ], \" B1 ~# O: Q, q ws(fi);    //去除空白 : q! V5 d7 X; f% J1 {* b fi.tellg();   //读一下下一个读取位置   [U]没被注释掉[/U]---〉第一种情况/ e) s$ {# ]& ]/ A- d+ L; O [U]被注释掉[/U]---〉第二种情况4 `2 y+ |- H* j6 w. O5 E getline(fi,s); //读一行/ p% V Q* r, |# J u# x wcout<) d- \* I @7 g! o. h fgetc(stdin);, v% w, l6 [2 { p7 x% R! b return 0;$ S; v$ ?& @& j& G% W, S9 d } , l2 D; N0 N; M/*4 d' g2 z1 r) {3 P7 t1 U8 G6 Y$ Z 123.txt内容在下面一行的引号内,引号内第一个是空格 2 M- b9 P* x$ e; Y3 t# v+ J. f5 A2 W& V" #define" & N. d. Q X4 }# {*/; i+ z. A6 J% }3 g& S4 D 输出 7 r" D' P4 ^ g- n( c6 \' ^(第一种情况和第二种情况都是下面的样子([U]#前面没有空格[/U]))- s' Z8 h4 `$ l0 _# S! V6 j 1 4 k6 }( a; y/ A* u8 L#define% T* Q+ @8 m$ K& k1 W /////////////////////////////////////////////////////////////////////////////////////////// & Y* K4 ?% i) u7 V9 S平台:    winxp ! ], j. e2 S5 F+ r* t+ o* n. d编译器  [U]ms ml 8.0.50727.42 (vc++ 2005)[/U]---〉情况A$ W7 x2 ?( W. B0 G) t) L1 c; E [U]ms ml ????(忘了,就是vc++6.0的)[/U]---〉情况B% k, Y! e) y4 R/ q$ L! j 输源代码* S0 h; r& h; P4 F6 K( I e3 @4 m #include 8 z- B, w3 \: L. F) n O #include 4 M4 @! L* v9 ?5 D3 Y% @ #include % N( s; P3 l2 N/ R$ W6 p0 x #include 0 N* T" I. T* v7 B# Y& w6 I using namespace std; B9 o2 T. Z8 v6 u/ |8 C2 S int main()! r, h: Q2 j( C {6 u2 ]$ X) q6 {+ X, f8 h //cout<<"Hello World\n"; 6 i: \ G! X2 M; D, z+ i 4 | M' P2 D; u6 x ?) Q ~8 J //block until user types something6 L/ W9 L0 P4 J* e) } basic_ifstream fi; \$ z) K/ i) _, o1 Q wstring s; 6 s7 Y8 S" `% T2 _! [& h. n v fi.open("123.txt");2 ~' R6 j1 c! } cout<- C- o& H: c7 s8 `) W& {6 _8 s# [ ws(fi);- y- V, k9 b4 [2 u, ^3 ^. y: c //fi.tellg(); [U] //被注释掉[/U]---〉第一种情况 " w" I2 O; g# [# k/ t [U]//没被注释掉[/U]---〉第二种情况) `) B$ _6 b$ g# U+ d) p( y getline(fi,s); 8 M9 R+ r) L# r7 o' ]% P, E i0 m wcout<6 e! Q9 C% X- {) L fgetc(stdin);3 F3 P! h7 H7 g2 B* G return 0; ( h$ B* g3 L% v6 g; K4 ^} ; n" b% w# J2 ]: w% N9 n; w4 a7 _; {3 q; H, i) ^% J /* 6 L5 `1 y3 O3 `. r( I- d* |! ?123.txt内容在下面一行的引号内,引号内第一个是空格/ A" x9 j' M6 L8 V. l' F$ C " #define", M D: ^$ [$ N A. W. T! N& H' g */ ) z+ E* B4 _# i; s1 F+ Z输出% K" p* F' b3 Z" G. y" s9 k (情况A+第一种情况)2 y: E' @$ X$ x% v4 v/ s. h 1 & K# c A, j- s% n#define. s1 v7 o2 I- P$ ?7 G! e4 ^3 u- ^ (跟g++一样)6 w* r8 E! P6 I6 K3 M9 A (情况A+第二种情况)" D% O# h2 h9 o* X8 `. {1 K! h 1 9 T$ B9 u9 r, M2 c4 v8 e) ?2 m' ?define 5 u0 q; x, v6 J* j1 m0 t9 f3 d(跟g++[U]不[/U]一样,少了#,是tellg()导致?) A% ~3 J/ L; W& Q2 D$ ?6 a$ p! ] ////////////////////////////////////////////: c1 V( T9 L! s6 j5 L (情况B+第一种情况/第二种情况)( ?4 {0 U$ }; w7 B7 H1 G' Y z 1$ o8 A. c+ e. }. E" x0 u& o/ P #define ; k" }& ]/ ]/ c! n" L( q; m(跟g++[U]不[/U]一样,#前多了空格,ws没作用?) ) a; E. g) ^& z2 C//--------------------------------------------------------------------------$ R5 e& ]" Q* ]$ }$ U 评价如下:: _3 O% y0 t6 H5 h: V( u 按照理论 / i: C7 V+ n0 s9 Tg++两种情况下的输出都是对的 - M, w) k6 U2 E. _vc++2005只有第一种情况对 / w! x4 r3 m9 [7 @5 lvc++6两种情况都有问题9 ^& F* d& s+ A! a% s# D 现在的问题是,这样的评价有没有问题,输出为什么不同?8 R: x# g/ d3 H q) U0 \ (本人希望得到g++的输出,根据文档就应该这样)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩 转发到微博

该用户从未签到

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

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

回复 支持 反对

使用道具 举报

该用户从未签到

3
 楼主| 发表于 2006-3-27 22:10:00 | 只看该作者
难道就没人碰上过这个问题??8 D: f# x# U( B 注: 5 @2 m8 {1 P0 Y! K) M3 ]8 X1楼帖子的内容显示是有问题的 . y$ Z p$ _8 m( K# `/ Z! S比如“#include”,后面的内容显示不出来 . P" x7 d( f1 c* J( ]& Y% w; g/ s0 j比如“cout<”,后面的内容显示不出来
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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