下沙论坛

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

QQ登录

QQ登录

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

basic_ifstream tellg ws

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2006-3-19 18:34:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
平台:    Redhat Linux AS 4( n4 A9 N+ @2 i9 S, `9 d 编译器  g++ 3.2.3 ; f- O9 e6 N0 f+ b/ c. f, V( B输源代码 + c3 w# z. }! \; c( W, L#include # _* P5 C5 I* u0 r9 _ #include 2 I* X8 W, S0 T. t/ v0 e #include ^1 l) W, s# B( b, P* f$ P#include / l5 M, t' F- O" R* Zusing namespace std; , J9 [+ L& Z$ R& ]& Lint main() 8 H9 R0 z8 x" {% ?. ?{ : g( z% r1 s. r3 Q6 Z8 X //cout<<"Hello World\n"; & K& U$ [. M) J " }# i, S- ]8 {) E, v- y5 S# p b( v4 B //block until user types something : d6 A: B W5 ^( N) `/ V basic_ifstream fi;) n1 F+ F1 ?; r* f wstring s;# a4 T! y k/ o fi.open("/root/workspace/test/123.txt");. X+ d$ U, J8 t0 j4 O& l' O& o cout<$ ]! n5 M1 }/ e* L" r0 ]8 |, y ws(fi);    //去除空白 6 H8 Z# C9 z2 G0 P9 I fi.tellg();   //读一下下一个读取位置   [U]没被注释掉[/U]---〉第一种情况 - W, V5 K- z/ P4 c [U]被注释掉[/U]---〉第二种情况2 k$ A6 Y( L4 J) h$ B getline(fi,s); //读一行 , ]3 `2 K+ |- u- a" F4 u: }9 s wcout<+ \1 ^& i* q. _0 Q* P fgetc(stdin); 5 W# y' D7 O& q1 R P9 S1 ~% }, l return 0;" u# D G1 }) J. U) d" P } 6 m8 N% j# o) T/* % t9 [7 u$ q( D9 v- I% @123.txt内容在下面一行的引号内,引号内第一个是空格 # w! B9 [7 x) O" s1 M/ P, S% y" #define" * w% g" B `& d; S' h*/4 M s& n( e$ W2 @! ?6 h 输出7 {4 J! h4 X L& B+ k [& Z& L (第一种情况和第二种情况都是下面的样子([U]#前面没有空格[/U])) ) r9 j+ Z: W5 \ 1 ) G& e& |) U( T8 o6 u5 t0 O+ I#define- i- |3 ~1 B( N4 q1 `% O- u( ^$ X ///////////////////////////////////////////////////////////////////////////////////////////) H5 i. w- ?& s$ H* s/ J3 f 平台:    winxp 6 U/ n: V. M% t* O编译器  [U]ms ml 8.0.50727.42 (vc++ 2005)[/U]---〉情况A* p) \+ ^- S' l7 Y0 n. W& z9 R [U]ms ml ????(忘了,就是vc++6.0的)[/U]---〉情况B % F9 R9 M0 K1 N输源代码 4 @4 ]* I; |0 A8 h' b6 Y#include F' }( h$ P6 D& |+ B& y #include 7 _& ]) K5 ^0 d* N6 g" T3 g #include , Q ~5 s$ D- u' Q3 \# B0 T& i9 T #include ) E: h! B7 H. @/ p5 `2 u$ Qusing namespace std; & W9 I0 |" u$ H0 h' q5 o0 U, Lint main()! n* G6 E' ^; S8 q: q { $ t- {! @0 f4 h) l //cout<<"Hello World\n"; 2 m, _3 G6 \- T& R. N5 ^* H# I1 B4 S 1 A1 ~- I+ ?2 m2 O1 ] //block until user types something 3 f2 h1 p1 _# N8 Y b' U& C+ `6 N basic_ifstream fi;* }$ a2 A- F$ s9 V' n; x. v% O wstring s;+ Y s7 `4 d* [# E' s fi.open("123.txt");( B, w: Y1 I. B5 c- Q. c8 A cout<0 ?0 Y# h% g$ p ws(fi); 1 Y& o5 m. n" Y" g7 p9 k //fi.tellg(); [U] //被注释掉[/U]---〉第一种情况 $ u: h) |; K6 ^$ ?' v6 f: Q [U]//没被注释掉[/U]---〉第二种情况 " t4 N9 [2 f0 Q' T) ? e0 }. G$ _ getline(fi,s);7 f4 x* @; ?. K3 V, {; y' w wcout<- i M2 g9 e. {5 v! W fgetc(stdin); ; ^4 l' `, w; P) q. T return 0;5 K6 Y w& p$ ] X } ' Y. ~# ]+ C7 _' a; \8 ? ) M1 @; u( h4 z/ ]: Q# b2 C /* 6 ]% I* V3 c' N123.txt内容在下面一行的引号内,引号内第一个是空格1 y3 [" K6 |4 V9 q " #define", B7 W1 L2 s7 p% |' K1 [ */1 s8 a( G8 O' i, k* [) W 输出 " }% s7 g7 `% Q# R p8 E(情况A+第一种情况) ; N: }1 a9 m+ Q; b 1 7 }8 y& L+ }2 n# P; ~% x! m#define) A" A: \/ S' N2 Z3 s (跟g++一样)5 n1 G6 u1 X o. K+ f0 G9 T (情况A+第二种情况) 9 X! @; A, W) s( p3 q4 R 15 w* k* h: o1 M, W; y4 W% D m define 9 J2 t( R8 I: Z1 o& u+ n(跟g++[U]不[/U]一样,少了#,是tellg()导致?)2 U" `9 Q. ~- d2 ~: s' w$ U) C* { ////////////////////////////////////////////- D7 C2 u( c# D" D' G( C1 ` (情况B+第一种情况/第二种情况): F* w' x# o) m$ U 1 & c) A) N( L; s% A2 s4 J #define+ I8 s2 ?, @: p$ e" H (跟g++[U]不[/U]一样,#前多了空格,ws没作用?) 4 x8 G7 }5 A, @7 i; }//--------------------------------------------------------------------------1 v: P9 w9 t0 E5 R7 C3 |' ?4 r 评价如下:6 k" x# y+ f& }; k* A% x% q! a 按照理论 " p: T' r% k0 }& lg++两种情况下的输出都是对的 " F8 j4 L7 N1 O% l- Lvc++2005只有第一种情况对& l5 i" O4 M/ N+ \! P, c( D vc++6两种情况都有问题) l; n2 D- Z- a ~8 { ? 现在的问题是,这样的评价有没有问题,输出为什么不同? 7 L- ?$ y2 Q- {6 E! L' m6 F) g(本人希望得到g++的输出,根据文档就应该这样)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

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

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

回复 支持 反对

使用道具 举报

该用户从未签到

3
 楼主| 发表于 2006-3-27 22:10:00 | 只看该作者
难道就没人碰上过这个问题??7 q; _. [9 ~; }% `% n 注: 7 f' X0 z! d/ p6 C4 J1楼帖子的内容显示是有问题的 ; i- L' U3 Z6 Z4 L! @比如“#include”,后面的内容显示不出来 , y; g, l( R4 y% y6 a比如“cout<”,后面的内容显示不出来
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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