下沙论坛

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

用新浪微博连接

一步搞定

QQ登录

QQ登录

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

basic_ifstream tellg ws

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2006-3-19 18:34:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
平台:    Redhat Linux AS 4( u3 i& ^8 V( L& N& l 编译器  g++ 3.2.30 o D: T/ e' d' Q0 Z* t 输源代码 * x- G% s3 a' c X( W6 @3 R9 \, s#include 3 J8 s R7 j# m! ` #include ( k c8 b b. x% z#include % `9 h3 e0 z3 L: L% I, S/ V #include ( }! x2 z; Y, L using namespace std; 0 D3 U- e0 L+ l0 v/ yint main()) [/ _/ R- _$ a$ c2 |1 z {" K8 B# {9 N, A; q3 H$ r9 i //cout<<"Hello World\n"; 5 p5 ~/ F3 S8 m* j; y ' u. f `* Y9 q0 w //block until user types something, b- ~% E# u! t! A basic_ifstream fi; 6 N( `5 Z5 P( F3 w& r7 R/ E wstring s;" _7 J5 A4 G( K" d2 f fi.open("/root/workspace/test/123.txt"); + k* ^# H. d4 U cout<% G8 n9 A8 a% B w5 P0 o/ J+ } ws(fi);    //去除空白. T$ c/ f. y/ r' Z: I fi.tellg();   //读一下下一个读取位置   [U]没被注释掉[/U]---〉第一种情况 . h7 T3 f' `4 d4 l [U]被注释掉[/U]---〉第二种情况3 l4 H, h1 t# s+ Q+ B* ^ getline(fi,s); //读一行 x8 Q+ b- N5 N: t" K+ ^ wcout<; F1 V: B6 z- k2 }3 `% y8 ]" k fgetc(stdin);9 c- q8 H; K& F( R4 |% I return 0; " X4 r- H+ _ F; v+ j0 K2 u} * p) v5 b- |+ N; |! H8 _9 o" H /* - |5 {( _4 [* B$ }9 c6 u123.txt内容在下面一行的引号内,引号内第一个是空格9 G7 K) _& |. |0 E2 h0 F " #define"/ w, c8 i' i# f6 T/ Y4 `% p& r */0 u1 D9 v" p1 ]+ S 输出( y! W' K7 H) {. E, q- \ (第一种情况和第二种情况都是下面的样子([U]#前面没有空格[/U]))2 W6 b: P3 |! _" `( Y: X$ `- ~ 18 G+ a) M: B, p/ Y. `" q; S #define 0 [: [. q( L7 _) T/ r/ W2 W1 r/////////////////////////////////////////////////////////////////////////////////////////// ( Z+ P. q& s3 s平台:    winxp & D( |0 i; w0 p7 R( o编译器  [U]ms ml 8.0.50727.42 (vc++ 2005)[/U]---〉情况A' |7 q! r, o. B' J [U]ms ml ????(忘了,就是vc++6.0的)[/U]---〉情况B + U2 s+ ]) ^: a# ?9 @% R输源代码* l9 _1 @8 C4 C+ s( Y3 p; R #include % ?, T* U5 c3 Q- R6 i#include 6 R, Z- x0 y Y- i7 L( c z# _* q #include : d( L; ?. Q: F' N#include 7 u8 }; Y |7 T6 wusing namespace std; 9 n4 Q1 ~7 ^/ ]; E# _1 I1 lint main(), U0 _( f0 C& {& k1 y {7 t- S7 v7 A# D //cout<<"Hello World\n"; 3 \7 S. a: I8 @( Y& X6 ? 9 M2 V& }2 ~% R, g$ J2 Y //block until user types something ( a- h6 l9 F+ y: |5 p5 f0 f basic_ifstream fi; 8 ]# ^% Z7 h" R5 L wstring s;8 K2 M& m: @3 O" r( } fi.open("123.txt");7 ^: v: ]4 I; O" ]/ ~+ O$ Y; k cout<, F7 _7 w, S4 M ws(fi); & J" r5 j4 \9 `( F2 b //fi.tellg(); [U] //被注释掉[/U]---〉第一种情况 ( L+ r6 q5 v) z# \ [U]//没被注释掉[/U]---〉第二种情况 : l( ~" N( n. C: ]6 F getline(fi,s); 2 t- `+ c: m! \" @. Q, Q( K$ \ wcout<8 b# x% ~9 j, u% B fgetc(stdin); 7 l% \& f' `# l$ H. T0 M return 0;, p2 K* S, ~2 e+ }, r2 f4 u# A3 L; ~ l } * {8 j1 f% r; i8 g2 q5 M& h0 f# d6 Y2 c; E6 \* n4 P /* ! z* g6 B4 T' @$ R- Y* Q0 M7 j123.txt内容在下面一行的引号内,引号内第一个是空格2 ] `3 k0 [9 \ " #define" # `# }8 e6 y+ ^- _*/) V6 d; X7 `! E% t. T* T 输出) Z6 N4 N7 j* Y0 }' \ (情况A+第一种情况) 0 [- ~2 j1 i6 X% A4 K( G" Z 1; t: O1 l. O! f/ X- v #define 8 b3 q' r) j. E5 W" I: T. o3 S% I5 ^(跟g++一样)" Q+ O5 O& e5 Z+ r3 M6 \; a- e2 u6 R (情况A+第二种情况) * D* w, H% D2 C! s) U j( K 1 8 n4 ^- j5 D/ I6 N2 E0 Sdefine % w/ }5 A3 x5 d4 d(跟g++[U]不[/U]一样,少了#,是tellg()导致?) & p' |1 Y6 t/ k# X% R1 z+ X1 y2 ~& Y//////////////////////////////////////////// 7 A9 q* q _0 x" `(情况B+第一种情况/第二种情况) . S6 M; S7 Z* d& E, D 1 3 c: C1 W# k4 W1 \( \6 j. b- T #define * |- F, Q; Y. y, V' F(跟g++[U]不[/U]一样,#前多了空格,ws没作用?) ( F1 d. x2 L, e- k) h//-------------------------------------------------------------------------- 8 o+ V, G4 C1 X$ E; g$ E; t评价如下:! o! S$ G' f0 e* X; {& r. |' F 按照理论 6 D- i5 M1 Z/ F7 b0 T; Bg++两种情况下的输出都是对的 8 h( h0 k* Z0 t9 l0 a# u- u+ X3 avc++2005只有第一种情况对8 `# q9 ~- a/ {- G) W. \6 k$ [ vc++6两种情况都有问题4 L0 t8 @' q( q. ` 现在的问题是,这样的评价有没有问题,输出为什么不同?# T& ], i: K& R( z( _6 ] (本人希望得到g++的输出,根据文档就应该这样)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩 转发到微博

该用户从未签到

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

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

回复 支持 反对

使用道具 举报

该用户从未签到

3
 楼主| 发表于 2006-3-27 22:10:00 | 只看该作者
难道就没人碰上过这个问题??7 }4 o5 n. H% K( k5 D 注:' u5 `& X7 c6 M* f9 q6 t. k 1楼帖子的内容显示是有问题的; Y* `3 l- V2 ~ 比如“#include”,后面的内容显示不出来 & j3 w: z5 L( G; u5 K! @比如“cout<”,后面的内容显示不出来
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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