下沙论坛

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

用新浪微博连接

一步搞定

QQ登录

QQ登录

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

basic_ifstream tellg ws

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2006-3-19 18:34:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
平台:    Redhat Linux AS 49 @; P/ A0 S$ t4 q/ i- z& Z( W7 z+ Q 编译器  g++ 3.2.3 - Z# r c6 U* U8 r C5 o输源代码6 m: Q! b6 q% l* H #include - @" H1 v, X1 q, h#include , [5 B3 }. D/ i# n! n" G. R#include 3 D; k9 L% h) T#include $ N G5 u2 j+ [* a/ u/ Kusing namespace std;. x7 y' s6 O, I! Q2 o/ K int main() 1 t. h6 A+ q4 J, }$ [$ d9 @. n A{/ o+ ]9 C4 p# b //cout<<"Hello World\n";* q- u2 }1 n5 T6 g6 U- ^ : o3 \% Z3 y" b" F9 i2 \4 i //block until user types something. F7 w8 w8 H8 t6 a basic_ifstream fi;8 L+ Z$ C7 U6 b. C% a* d wstring s;6 X- k8 S$ y' s0 a& G fi.open("/root/workspace/test/123.txt"); T5 m/ R0 N2 M cout<. i9 L7 E/ ^# _ ws(fi);    //去除空白0 g6 K4 l; A! L) `% ^1 u0 s fi.tellg();   //读一下下一个读取位置   [U]没被注释掉[/U]---〉第一种情况5 @# j2 c6 ^3 p; Q9 ] [U]被注释掉[/U]---〉第二种情况! |: z/ F) c$ h" C' R8 n getline(fi,s); //读一行 ( Y& @; t6 q" w9 B. a& g2 M wcout<+ o1 b9 {7 p8 Q5 i fgetc(stdin); 8 Y/ A9 Z5 v# {, H$ l return 0;! w; l7 A1 g$ [7 p8 S- _ } , q7 j# q" Y4 M0 x3 U /* 6 n$ k4 {# y+ V7 E. A5 e123.txt内容在下面一行的引号内,引号内第一个是空格 & v; ]3 X3 C7 H4 ~- Z. K" #define"! {# E- A' T1 R4 ?/ X */ % l0 S# G$ l! F; J) y输出/ o% }- k/ K. o; K3 [ (第一种情况和第二种情况都是下面的样子([U]#前面没有空格[/U])) 7 D0 k" s7 T& d* O 1 $ Q) I4 p7 Y: ~) B) {- x e) Y. f#define& L& @. R0 {' f, {* c" j' w ///////////////////////////////////////////////////////////////////////////////////////////0 `9 C# [3 C! g/ H2 F 平台:    winxp. L9 z1 B2 w: O5 k0 j \! H 编译器  [U]ms ml 8.0.50727.42 (vc++ 2005)[/U]---〉情况A 3 g7 L5 N* b$ G% k, @+ _ [U]ms ml ????(忘了,就是vc++6.0的)[/U]---〉情况B. H/ _$ l9 m& i/ k' w 输源代码$ ?% j* h: G5 _( ]7 P9 z# x% c #include % z; a1 Z/ [! X; W7 v1 B4 J+ t#include ' R1 G# S; v. O5 b2 M #include ) y5 ^& ^2 d! ~6 A5 [3 G$ _7 c#include P, a0 J& v) Z; P( t+ t using namespace std;! X& U: r R P1 d* }$ U int main() 6 _, }2 s) f$ Y# ]3 i* t{ & V+ G0 K5 G' E; ^) L6 b' I x" }' b //cout<<"Hello World\n";, ]1 z! j# p( K4 r 9 e- I# Q( ?! ^ y3 a+ _' C& T //block until user types something ! i7 d, i" p) G+ { }9 M/ g* u basic_ifstream fi; 4 q) y/ ]7 |" R/ m# B7 C2 ~3 @ wstring s; + j# y! ^' ]0 G: H) P fi.open("123.txt");& `( V( o/ m! @5 [+ O" F cout<' z( T6 ^7 N/ \0 M ws(fi);1 T7 y: z/ ^0 y( i5 Y //fi.tellg(); [U] //被注释掉[/U]---〉第一种情况 ; r' M5 w: S+ N2 ?. a% T [U]//没被注释掉[/U]---〉第二种情况4 Z A+ {3 i' g: T* X getline(fi,s); - L5 }+ t$ h: v& ~" X wcout<+ m9 K: \! [; u7 F0 w$ R fgetc(stdin); 1 M, t6 D1 U$ m4 \# K) r9 F- J return 0;" Q' n, \# g |. X, Y" {5 ^ { } - i+ J( a. z/ {- }+ I # A) e$ H2 l8 l/ t+ \1 u4 a( M/* , z1 v' d: a% D2 A123.txt内容在下面一行的引号内,引号内第一个是空格8 D) s" }0 r& G+ R# Q0 x: q " #define"# E* q% @: | r; E1 A */- M0 O6 f9 _8 I/ K3 ~( @! t5 { 输出8 ?7 I% O- ?2 B- v" l1 B8 [2 } (情况A+第一种情况)! J0 k, m5 ~$ F \3 [ 1' B Z$ U( l3 |5 d7 q% v ^ #define) e0 w4 V. R+ l- X; ~. q$ P& @& l (跟g++一样) 0 k) D, J' W5 j5 i3 n( {8 ?(情况A+第二种情况)2 g: a. X T6 R2 T 14 f2 x6 g$ O( n& r; {9 E define" ?1 w f' L* A7 \. g (跟g++[U]不[/U]一样,少了#,是tellg()导致?)) o8 G$ X5 e7 Q5 N3 b) m2 \) S //////////////////////////////////////////// % O7 g% i* S, Z, {: v: c- \/ g* r(情况B+第一种情况/第二种情况) + w+ n: n9 b; Q; S4 u3 H- U7 v 1 ( |& n, S$ |) z2 e #define* G7 d) K* y ~ (跟g++[U]不[/U]一样,#前多了空格,ws没作用?)+ c: ?" g+ ^) W" a# I! ?8 h //-------------------------------------------------------------------------- 2 S: s' T& `& O9 D& g评价如下: j: K) O% v% c+ a9 X按照理论4 m" r1 J1 O2 X( i5 i g++两种情况下的输出都是对的7 U6 p: |6 c6 J6 o vc++2005只有第一种情况对, v$ z6 x3 s6 g3 ]0 D4 `; S2 q vc++6两种情况都有问题6 ~ ^/ O9 q% ~- E% G 现在的问题是,这样的评价有没有问题,输出为什么不同?3 A& l6 m0 @' d- n (本人希望得到g++的输出,根据文档就应该这样)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩 转发到微博

该用户从未签到

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

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

回复 支持 反对

使用道具 举报

该用户从未签到

3
 楼主| 发表于 2006-3-27 22:10:00 | 只看该作者
难道就没人碰上过这个问题?? z; c6 _$ R2 s3 m( Y) | 注:& y! ], H( D$ g$ x: g 1楼帖子的内容显示是有问题的% A0 F5 Q0 a/ A( y 比如“#include”,后面的内容显示不出来6 X! F( |9 o5 x 比如“cout<”,后面的内容显示不出来
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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