下沙论坛

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

QQ登录

QQ登录

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

basic_ifstream tellg ws

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2006-3-19 18:34:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
平台:    Redhat Linux AS 4+ N- ?4 z* D, \ 编译器  g++ 3.2.3+ M+ f, |$ a9 W* J% l+ H' t! D 输源代码 , O- \& `6 R0 T2 R" }6 v5 `0 G/ \#include . z: N5 ^5 ~8 p( b, f( H+ l0 A2 o#include # s j4 V7 e. r" N) @& E#include 3 }8 ?3 S! {" F1 [0 J2 P#include 2 @: @& ]6 T6 n using namespace std; ) L9 b- C6 r+ F& \: k1 Oint main() . k, T7 w" O" J/ }9 H& Z: n1 \! Q{4 @2 L, h* d$ e/ w //cout<<"Hello World\n"; i( T! \. o7 z$ \$ a$ B5 y 2 v: U# C q4 n% l1 j' ^! r2 @ //block until user types something: }9 M' i7 G1 B$ C8 P- l, x basic_ifstream fi;3 }4 e* s* h9 i3 G6 E# M wstring s;4 `) [8 h( I0 C } fi.open("/root/workspace/test/123.txt"); P7 i* O5 q! ^2 \: C cout<6 {( G/ U) \- E7 ` ws(fi);    //去除空白 6 O w: q+ \# Q fi.tellg();   //读一下下一个读取位置   [U]没被注释掉[/U]---〉第一种情况 # ^$ I2 ]8 Y; L8 Y9 S [U]被注释掉[/U]---〉第二种情况 3 j' E, u* X d" L# O. c getline(fi,s); //读一行 4 A' K1 n* x- Y+ I wcout<0 j! `+ H4 B! b' e fgetc(stdin);- _3 G0 U/ S: X* b; X; j* X return 0; 8 M" x9 P* Z& i0 D' [- V4 C} ) G6 Q; o! ^! z3 |) v6 h /*+ y5 A, K* O6 J& P 123.txt内容在下面一行的引号内,引号内第一个是空格 ( X$ R' _6 b) D+ u" #define" ) W# A7 N, w* _/ i2 f8 A/ W$ k, K*/- }# {9 D, `- a6 G 输出 $ B, x; O$ c1 B: Y7 D( B(第一种情况和第二种情况都是下面的样子([U]#前面没有空格[/U]))& Z$ T' `/ [# `- r0 T# X 1 , {( N: C0 f3 L! X# u9 E# @#define% E, N5 W3 m* G6 i* [ ///////////////////////////////////////////////////////////////////////////////////////////& N) E! ?: a* G 平台:    winxp* u* x( S! _0 `! n l) l 编译器  [U]ms ml 8.0.50727.42 (vc++ 2005)[/U]---〉情况A1 _. G! U- |% ^6 S3 U( D [U]ms ml ????(忘了,就是vc++6.0的)[/U]---〉情况B! D; o" ]7 x# z* Z+ e6 q6 | 输源代码# Z2 D3 Y" g' a4 _6 U #include $ l9 M$ m* s+ f8 s0 x$ L4 i#include + H4 `; ^! ]5 V#include 3 y. t$ j1 O& h; o0 M4 u #include / `2 ]/ [: t, _4 J using namespace std; 4 A" a* Q0 g; k+ {int main() 4 [ R" `* x4 V8 Y f{: g* y z7 w7 _' C6 Z; s, k //cout<<"Hello World\n";3 @3 g& ]4 K! S5 U; Y" C C; K ; s# w% |" d6 d+ | //block until user types something! G) _4 z: O3 M, O' \- ~3 q basic_ifstream fi;; o3 T8 N9 N* g; d' L2 j4 z wstring s; 8 G3 L2 z1 D. k7 f9 S0 x( S0 Y fi.open("123.txt"); ! ^; g/ u0 G. R' }( `+ i/ K) h cout<6 K4 K. W; z3 e" c ws(fi); . d( E: E, |7 h- c( L //fi.tellg(); [U] //被注释掉[/U]---〉第一种情况. N9 _! x% j* z; Z N [U]//没被注释掉[/U]---〉第二种情况 ) j/ e2 @$ n+ M8 { getline(fi,s);6 y$ F8 N$ R8 ?3 k7 Y3 x5 ]2 a wcout<6 p( }" E+ g# { fgetc(stdin);4 G0 X8 q- @8 G0 o9 N P# [9 e3 ? return 0; 7 `9 \: N6 Q2 ~} 5 Y! n3 a9 m/ a; j. C( e1 Z1 z4 ^' c& M! ] /* * N4 H/ v8 w9 u- E" e& y- a; x123.txt内容在下面一行的引号内,引号内第一个是空格 # Q- i" l- C$ Y3 E" #define" # ], q8 f/ S. S, }*/ / R& _6 J' z9 E! P3 ]输出 ; W: B- K! t* M G(情况A+第一种情况)9 H/ \ U1 U; D4 a 11 \; R$ _$ z. {) _7 U& Y9 `; |2 Y #define4 ]! T/ b# E$ q; @+ C$ z (跟g++一样) + O3 |6 [: O& ^5 I- b, I(情况A+第二种情况)4 l2 b8 n5 p T) S) R+ L1 q 1 - d- I4 Q8 j4 D: k E, gdefine& N# z, S$ H' _% n0 M( x( ? (跟g++[U]不[/U]一样,少了#,是tellg()导致?): G7 H m1 l# q8 N3 w ////////////////////////////////////////////" u& e( B7 W: t (情况B+第一种情况/第二种情况)! Y, G# [# z: k$ a( X 1 7 j( V2 W/ d [4 U- w #define" L8 q& w1 ]0 _) Q2 E1 T (跟g++[U]不[/U]一样,#前多了空格,ws没作用?)8 ~6 F a# \! H+ n/ c //-------------------------------------------------------------------------- . g d% u% E+ F( i2 [评价如下:( k% Q! o9 M7 Q$ P0 P( K& ?0 L 按照理论4 x/ p3 g0 [8 l: v$ S g++两种情况下的输出都是对的- x2 S G: G/ j: f) T vc++2005只有第一种情况对 S' g4 S& ]- s/ w, j7 m+ { vc++6两种情况都有问题4 s; X. M$ F* [1 T: b( Q 现在的问题是,这样的评价有没有问题,输出为什么不同? ! m' E1 a1 j D3 \(本人希望得到g++的输出,根据文档就应该这样)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

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

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

回复 支持 反对

使用道具 举报

该用户从未签到

3
 楼主| 发表于 2006-3-27 22:10:00 | 只看该作者
难道就没人碰上过这个问题??+ ^2 v5 N2 {% r 注:- T9 q$ v# n5 z$ B 1楼帖子的内容显示是有问题的' m J$ y: n6 t5 i 比如“#include”,后面的内容显示不出来 ' z# A* z' F. V* d0 n, u c比如“cout<”,后面的内容显示不出来
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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