下沙论坛

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

QQ登录

QQ登录

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

basic_ifstream tellg ws

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2006-3-19 18:34:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
平台:    Redhat Linux AS 4 0 a1 O. k5 n4 Y V编译器  g++ 3.2.3 ( v( n2 F N0 [6 ~' v) G- I3 F输源代码 2 {4 m' h+ H' X5 N; k7 ^#include $ j' u! H! j$ e) U#include + @, W( f% W: i8 y) ]7 ^7 i#include $ t+ ~4 t( Y3 U% Z4 ~ #include " w' T" h3 o0 Z' V/ Q5 f using namespace std;4 D: j- c0 E: _3 K int main() ! B9 K! {8 f F{$ A% H3 d3 F! t, s/ m' a //cout<<"Hello World\n";- M1 v' c5 P. _ H 2 `( `* ~6 N9 S& D+ V, o1 F //block until user types something1 L3 c' ` K, d T# Q% p2 P8 Z5 `6 i basic_ifstream fi; 0 h1 G. v2 l4 C' D% n wstring s; ) R/ I! ?: t G" ^1 I! C* c9 O% b fi.open("/root/workspace/test/123.txt");% G5 K1 s# n, c4 u cout<- p T0 T5 U6 C ws(fi);    //去除空白- e7 r& N: y! y5 e) }8 S4 i fi.tellg();   //读一下下一个读取位置   [U]没被注释掉[/U]---〉第一种情况8 s' x( d7 E7 U E9 f [U]被注释掉[/U]---〉第二种情况; ~6 U+ g) v' O2 i% Y1 F$ l getline(fi,s); //读一行 ; T0 `! u) x1 U& G2 e0 V- X, O) h3 F wcout<$ s, X: o$ L* O4 a! S5 R fgetc(stdin);* C$ P6 f3 G3 {# O8 ~ return 0; . f) c" g- X' M0 z* Y; c} , X$ H$ u. V( H$ k- { /* 5 S3 A- S! \* G123.txt内容在下面一行的引号内,引号内第一个是空格8 Q9 }$ m: p2 I" H' G3 z " #define" 6 S- ^% N5 B) w*/# R6 z1 x1 Z# G: ~: \1 _6 I% z 输出, T; O0 f6 m5 i) u' S (第一种情况和第二种情况都是下面的样子([U]#前面没有空格[/U])): {8 b- }0 b k9 O 12 v1 P4 W# c. w7 A" b5 f6 E #define4 U G5 w' D9 `4 m1 \ //////////////////////////////////////////////////////////////////////////////////////////// E" N# p& p; B& r 平台:    winxp 2 k, U6 ^. k2 s* p& ]5 F$ m* u编译器  [U]ms ml 8.0.50727.42 (vc++ 2005)[/U]---〉情况A % S" r! C( A" ~7 `+ |3 y$ q [U]ms ml ????(忘了,就是vc++6.0的)[/U]---〉情况B C0 R3 _ b7 E; P0 B 输源代码 . S" B% X7 [( D% J, i#include ( `+ ?8 S! g* n* I#include j' B, y6 c( D #include ( H+ Z v+ J6 K- I6 w#include * C: H4 q0 s. e$ d4 M7 c7 m using namespace std;4 ?+ S+ ^ a% D, r" G+ i6 r5 I int main()0 {" M* E8 p% b8 }- | { : h0 W! A) `7 |; j: | //cout<<"Hello World\n";5 D7 c) f8 y+ j' G: d" ~4 u 6 J/ _3 ?& u4 W# d) N //block until user types something 7 ~; _9 w$ @9 }( P% s/ ?* ?2 s8 c basic_ifstream fi; 4 o$ T9 m9 A" h6 H4 ~- E8 B wstring s;" u& I' L+ u( ~$ {" q9 S# ^ fi.open("123.txt");9 B& x4 u9 j \$ p# j" K cout<- X3 d7 a3 X1 C3 y& b& X ws(fi); ( t0 [3 e& ~) }. Y //fi.tellg(); [U] //被注释掉[/U]---〉第一种情况 u3 ]2 S3 a" Z k+ ]; _ [U]//没被注释掉[/U]---〉第二种情况7 f0 n; Y+ V' h6 v. L6 I getline(fi,s);% h |" i9 |% U! [ wcout< _- e- m: ]. P( M/ } fgetc(stdin); 6 D$ D0 f/ J1 V return 0; ! N3 Z9 T. |: @7 J6 }} + O O6 q+ ?) N& w' S% W# s' a4 c9 g/ Z /* % f. _6 y5 U% b5 s, I123.txt内容在下面一行的引号内,引号内第一个是空格 2 e( i: h% e) [7 b- @" #define": e7 ~. U$ l8 W; ^" J1 P */ 6 v+ L _ _. t3 N5 u( L, u输出 " G" L8 G' |% h9 u7 u" e(情况A+第一种情况)4 Q0 ]. Q" E' h$ ~1 a% f 1 0 L: v# [- g. Y4 {2 K; o" J#define + H9 }1 y% H, h3 D9 x' ^(跟g++一样) - Y- v/ O* Z: z& Z7 d& r(情况A+第二种情况)0 V1 P" D- W& ]2 F2 E, F0 n 1 ' m+ s' {6 E1 E+ udefine 3 S' i! n# u! O- b0 V(跟g++[U]不[/U]一样,少了#,是tellg()导致?)0 q6 I1 ?# i. U- B5 P3 w, `+ \, X ////////////////////////////////////////////7 @. L6 a( g Q2 h$ Z' u$ A (情况B+第一种情况/第二种情况) z; u$ {* z `, A( s9 p! L/ H 1* v2 E8 M& i$ O1 ^8 v% N #define $ n! u7 h0 Q6 }( F8 \(跟g++[U]不[/U]一样,#前多了空格,ws没作用?) 2 ?% G) u& A* i2 p. |0 {//-------------------------------------------------------------------------- $ E- t7 G1 A/ Q) \, g, ?" i$ D) u评价如下: & F4 Y- n. j! m6 C6 U5 j8 p0 v按照理论 # y g) l; [- O& {5 xg++两种情况下的输出都是对的 + \: o# M% {0 P7 Svc++2005只有第一种情况对$ n M' |8 A, Q+ n6 i3 x1 l vc++6两种情况都有问题 " v$ x1 @+ h9 [0 K现在的问题是,这样的评价有没有问题,输出为什么不同?3 W, c! ]- o# N; I1 l (本人希望得到g++的输出,根据文档就应该这样)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

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

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

回复 支持 反对

使用道具 举报

该用户从未签到

3
 楼主| 发表于 2006-3-27 22:10:00 | 只看该作者
难道就没人碰上过这个问题?? d0 g1 {. t7 @& A6 \% Q 注:, Y8 |5 m) U7 k6 t) F) r( m 1楼帖子的内容显示是有问题的 % B7 U' J% m' `& Y比如“#include”,后面的内容显示不出来 - t) S7 u4 Y% P J7 P比如“cout<”,后面的内容显示不出来
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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