下沙论坛

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

QQ登录

QQ登录

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

basic_ifstream tellg ws

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2006-3-19 18:34:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
平台:    Redhat Linux AS 4- m$ J9 i/ F) H" v 编译器  g++ 3.2.3 & j$ B1 v% ]! G+ M. [* S输源代码7 @* a" \+ e: L+ [3 @5 _# J+ f #include 1 h \3 g T5 k9 @$ \. k' ?9 e#include 4 }3 \3 ~8 R3 e& u$ Y: n) s #include $ y$ i0 M& O! @' A) j #include " P: _, |) R9 k$ Z0 @& f. t using namespace std; 7 k+ M: [( G1 Mint main()/ h S% ^' q8 R {- {' Z* {) k1 m. k9 P5 h //cout<<"Hello World\n";2 \8 |+ S; B3 g0 {7 A ' F" P) m& u4 K, R0 _: X6 ?) }1 j8 ^ //block until user types something3 I5 G/ g$ m! o1 n# k6 Q3 A basic_ifstream fi; ; L5 u5 i4 u. ^+ f+ z) W& d wstring s;0 T+ S4 |3 R: M$ ^' { M' l fi.open("/root/workspace/test/123.txt"); / u# g+ x# q/ c cout<% N* ~" q+ h8 \$ U4 R. c ws(fi);    //去除空白4 w6 r2 Y- _ Q T: k fi.tellg();   //读一下下一个读取位置   [U]没被注释掉[/U]---〉第一种情况$ ~$ a+ K' v* C9 ^. m+ E [U]被注释掉[/U]---〉第二种情况/ l5 c6 t/ O% T+ O getline(fi,s); //读一行 - m( D3 A$ i4 Y I9 d- K wcout<" n" ~3 @1 i: k1 @& _& j a fgetc(stdin); 1 l& j; @# n9 ~' O. f* V return 0;( X% c* ]0 k$ h r2 t } 6 c7 D9 \8 L* [6 M* C4 y /*: N$ l: E W+ Z ]0 p, H: u 123.txt内容在下面一行的引号内,引号内第一个是空格 ( c& U% E4 c* O& h8 a# t7 W1 R" #define" 0 w; Z7 F4 d; g3 o+ |! i$ U1 j*/ 4 e0 i% P/ L5 w: L9 D输出 , x1 O5 ^1 g5 \4 @; w0 s(第一种情况和第二种情况都是下面的样子([U]#前面没有空格[/U]))2 n2 U+ w, M- O" }7 ~! ^; \ 1% a2 Z7 m. ~/ m: g+ h) H! {9 P #define 8 K. G# [+ b2 ^5 r& ^# I///////////////////////////////////////////////////////////////////////////////////////////2 ?0 C3 z% B" `8 V1 c 平台:    winxp2 i3 a; S( N4 M- y5 o5 y. a6 E 编译器  [U]ms ml 8.0.50727.42 (vc++ 2005)[/U]---〉情况A' i; ^' w5 g# ^; }# J! z' }' L [U]ms ml ????(忘了,就是vc++6.0的)[/U]---〉情况B) g8 f T/ x9 w$ e# h9 @ 输源代码9 R$ B5 i' B! A8 V8 G1 A #include # ^9 o& s3 G5 ^2 m# s#include # V/ C- b* j/ K& y4 S' l #include . E8 S/ y& \( ?# i' B) c0 @& y: G4 t y#include & X. {1 S3 \. P2 T) c! k$ g using namespace std;3 F$ W; X& Y7 u$ q$ a: N# r& F int main() 7 N" n, ?; L6 ~% d4 N ]{( X! v: o7 |/ s/ l& D/ v //cout<<"Hello World\n"; * P% z6 n' {$ A7 M 2 {' a; s; Z! I' I //block until user types something 0 p# P W8 T6 N basic_ifstream fi;$ _" M& O" X9 p3 @' A# c, q) d wstring s;5 S) f$ w( Y$ e+ j fi.open("123.txt");' T# H; ?) _; ~# J cout<+ t B- e( v; p! a, z7 s1 m. g ws(fi);: K% c1 l2 `! d) ^5 X) | //fi.tellg(); [U] //被注释掉[/U]---〉第一种情况/ }. |5 t, L; z/ g4 `& W3 J8 v' l [U]//没被注释掉[/U]---〉第二种情况 $ S7 L( Y2 o' d getline(fi,s); # ^) |. O& J6 e1 I wcout<" r! v& D6 p. p- D( O H fgetc(stdin); 7 r- y+ a/ s5 R- ~! s+ L return 0;* } i# r2 c6 t& \ } & y; ^) [" W$ m7 h7 w- h* m- C/ s 7 S% e6 X" S. {, a7 N/* 7 ~% z+ q5 q6 C3 L7 Y7 _2 c123.txt内容在下面一行的引号内,引号内第一个是空格 3 j& E1 j. W8 F2 [! P" #define"+ Y* u$ E( r' F" O% |8 y */! H }& y. b: c$ ^ 输出 ' V: V" O0 t5 y8 n7 o1 M(情况A+第一种情况)' D: p$ H/ b/ R 15 d/ l& K, V4 V8 P+ ], n- d( w5 S #define* O) h& |6 y8 g5 v$ } (跟g++一样)$ V( `2 t: J7 w: v; p7 m. | (情况A+第二种情况)2 y" j- c. p! ]8 @( o2 m 12 h2 {: g6 Z$ Z' ~$ x define 7 F+ J' ?8 m' c9 d' ](跟g++[U]不[/U]一样,少了#,是tellg()导致?) 7 Y$ x' G7 }6 V! a" m3 |* W////////////////////////////////////////////5 t$ I# n2 b2 q( | (情况B+第一种情况/第二种情况)9 r+ i4 @4 L* O' M( ? 1! o9 Z; P# f( Z! H #define ; H0 s9 ?: D7 t5 S(跟g++[U]不[/U]一样,#前多了空格,ws没作用?)1 x2 A: o& e& t, b8 E- y% C5 o7 ] //--------------------------------------------------------------------------/ K/ g! x; `! e/ D6 w' Y 评价如下: ( F2 I- e' E8 E3 P! A1 g m按照理论 o& Q" E6 P3 r2 y; J8 L! j4 wg++两种情况下的输出都是对的7 l+ R2 I' D: W" N! r+ q5 o; M7 y) \: |; E vc++2005只有第一种情况对 " C; ~* }" l$ }6 I+ bvc++6两种情况都有问题 * o4 M; |! ` _+ B } F现在的问题是,这样的评价有没有问题,输出为什么不同?# l: Q+ D% Q# [0 ?7 @% N, r5 } (本人希望得到g++的输出,根据文档就应该这样)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

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

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

回复 支持 反对

使用道具 举报

该用户从未签到

3
 楼主| 发表于 2006-3-27 22:10:00 | 只看该作者
难道就没人碰上过这个问题?? 6 m; O: N/ h1 \! L注:: F1 L8 z- O/ ?' W* U5 z, o6 X 1楼帖子的内容显示是有问题的0 N, X3 G) x* a 比如“#include”,后面的内容显示不出来 ' Q% N# _: |: n' T2 [比如“cout<”,后面的内容显示不出来
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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