下沙论坛

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

QQ登录

QQ登录

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

basic_ifstream tellg ws

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2006-3-19 18:34:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
平台:    Redhat Linux AS 42 a j8 f, H3 T; ]7 v* k6 T# `8 O# i 编译器  g++ 3.2.34 I# p9 Q- ` E I6 A1 _# Y 输源代码 . ?& d2 Z+ m1 H- C5 r1 K#include 8 I& c0 e: j* g4 C& j4 H #include ; S1 z6 R1 q3 |0 N9 H# u) w #include ! Y$ e" C, K9 v: I7 T4 o#include 1 a5 ?% f" W% j using namespace std;& _) N' Q3 v% D3 {% f' W- ~/ w: L, u int main()/ I' W6 e0 k0 o) O5 u' O0 h8 g+ ~ { 8 j' V; P7 L2 F" d7 h //cout<<"Hello World\n";3 G- K3 n4 a( r+ [# W. `1 a2 J$ Y $ l1 B- d- s+ ` //block until user types something 6 c" q7 h2 k8 |/ [ basic_ifstream fi; # q) `2 Z3 t9 t" ]2 v! X. |7 m wstring s; - Z* Q: h0 C: \$ O; E- j fi.open("/root/workspace/test/123.txt"); 7 k r8 @4 w/ R: q4 g( d cout<5 c, ^9 g3 X* ^) e+ @' x ws(fi);    //去除空白4 E3 N- O/ B( G9 q2 w fi.tellg();   //读一下下一个读取位置   [U]没被注释掉[/U]---〉第一种情况 9 d6 a. [# c1 P- p U [U]被注释掉[/U]---〉第二种情况" \9 b5 w& j4 B$ a2 ^& @$ I+ [$ J getline(fi,s); //读一行 : g1 }, d: C% Z9 S8 h$ B' D wcout<: C" J" C( Q% [- d fgetc(stdin);/ X- d, q+ C+ K return 0; : h2 {( \7 G( W+ l G5 ~} 6 D( p h |1 F F0 S6 s+ s/* ; Y0 H$ a% c: V+ y123.txt内容在下面一行的引号内,引号内第一个是空格8 I6 c4 D, X+ x t! K) i q- N! s0 o " #define"3 F% u& b2 ]& F0 O; W" r+ J. u */ 3 n+ q3 C* T* s: E输出 4 w! L2 a" _! w3 M(第一种情况和第二种情况都是下面的样子([U]#前面没有空格[/U])) ( S3 B( r7 i" N0 \3 y2 X 1" e; _& p6 |+ |4 s5 l# b0 S #define6 S7 T* n" G `1 o. P /////////////////////////////////////////////////////////////////////////////////////////// + S2 w. } |/ i* c; O平台:    winxp! P- y, T# S5 P. i 编译器  [U]ms ml 8.0.50727.42 (vc++ 2005)[/U]---〉情况A ; F2 B' ]# Y7 ~) ~) O" Y8 s- R5 A [U]ms ml ????(忘了,就是vc++6.0的)[/U]---〉情况B : B0 `1 F" ~. a6 s y" |& F& O输源代码 ! M6 Q9 C$ D( Q; Z4 O( l#include & |! p1 t7 ]! p8 \; K, Y! t& {9 l) c/ d#include 6 C4 ^8 N6 V+ D#include 4 o c' d% X# S% l#include " {, e, u/ R$ c/ h/ Susing namespace std;3 b% O: ]2 ^: ~ g2 J5 Y1 c( C int main()) J ^1 X. i3 Z {0 M% f y9 B% `7 B //cout<<"Hello World\n"; 1 C, C# b9 C, Z1 N % d" [$ J# l6 m, L l- j! K6 y //block until user types something" Z+ ~2 e+ W9 m! ` basic_ifstream fi; 9 H- r& \9 ` k% B& F" l7 l wstring s; & j: ^* n+ f9 i) k0 M, V: @ n fi.open("123.txt");, V; C! `! C$ f% Q0 K5 C cout< w' O9 S- Q; n ws(fi); - A5 `* g5 \7 H! R //fi.tellg(); [U] //被注释掉[/U]---〉第一种情况 ( q7 _! y5 I2 A* \- C- R8 L [U]//没被注释掉[/U]---〉第二种情况 ( l% T" R. v- e0 c; a getline(fi,s);; C& u. h# `" p* Y wcout<& l( E9 [. H0 j7 _; D. U8 h fgetc(stdin);3 l/ s2 r3 F) l0 B return 0;6 K8 D+ A/ l: X6 l$ \+ v3 @ Z' R } / X+ m/ G! S/ z& w/ X! w8 A2 z / d. ?/ |+ i% G8 G; k4 Y" o8 ^1 E/ P/* 0 W2 P+ W' W! e7 Q5 H% ~0 W1 T123.txt内容在下面一行的引号内,引号内第一个是空格6 J% |) U% k; y1 [ " #define"6 B# O$ C" e* M, J C */ 5 D* q& q" s: T输出 : d/ t/ Q0 X- _3 w6 R(情况A+第一种情况) ; v% i0 n/ @; C$ p3 U 12 M; A) x4 p# ^2 K, s' @9 _4 F #define6 k- u/ v2 j0 ?& r. ~ (跟g++一样) ( E% C0 E' t% X o* k* u6 g* R! q( t(情况A+第二种情况)' G! Q* ~! W( k4 m 1 * ~ N! Z. k, V. \" fdefine % c& [$ |/ q7 G' f(跟g++[U]不[/U]一样,少了#,是tellg()导致?) " Y8 w6 K* T& D) D7 ?//////////////////////////////////////////// 8 H6 R' P9 ~+ ~- S) ^# h4 b) \% M(情况B+第一种情况/第二种情况) ; Q3 n+ m) e0 s/ c# V8 N$ C 16 w7 ?. X8 U9 } #define" r6 {! U8 L) ?" A4 O (跟g++[U]不[/U]一样,#前多了空格,ws没作用?)1 o; ~$ R. x0 C/ C5 j# d A //-------------------------------------------------------------------------- + w, Q# e; _$ _' {( p* W- w评价如下: k6 k5 Q* P3 H6 i7 Q+ g按照理论% a- i4 v7 {9 @& v7 y- E g++两种情况下的输出都是对的$ M0 S" Q. O- m+ f* I; f+ \ vc++2005只有第一种情况对6 ^7 g- E! p. ~$ `; x9 X vc++6两种情况都有问题1 V1 D( L, u3 F/ h; h 现在的问题是,这样的评价有没有问题,输出为什么不同? 8 A) Q1 `% T: k5 O(本人希望得到g++的输出,根据文档就应该这样)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

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

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

回复 支持 反对

使用道具 举报

该用户从未签到

3
 楼主| 发表于 2006-3-27 22:10:00 | 只看该作者
难道就没人碰上过这个问题??2 k* L6 k9 y& w4 s- _: ` 注:' P7 y5 H% T3 f 1楼帖子的内容显示是有问题的5 }- A9 Q Q- F2 K/ d4 c7 E3 q 比如“#include”,后面的内容显示不出来0 J* b# v# l; j! Z7 W 比如“cout<”,后面的内容显示不出来
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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