??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久一本精品99久久精品66 ,伊人情人综合成人久久网小说,亚洲Av无码国产情品久久http://www.shnenglu.com/cw290746987/archive/2011/09/11/155568.html陈晓陈晓Sun, 11 Sep 2011 11:04:00 GMThttp://www.shnenglu.com/cw290746987/archive/2011/09/11/155568.htmlhttp://www.shnenglu.com/cw290746987/comments/155568.htmlhttp://www.shnenglu.com/cw290746987/archive/2011/09/11/155568.html#Feedback0http://www.shnenglu.com/cw290746987/comments/commentRss/155568.htmlhttp://www.shnenglu.com/cw290746987/services/trackbacks/155568.html
从搬q这家民房的W一天,我就开始怀疑我隔壁的那个储藏室Ҏ没住人。一天到晚黑黢黢的,没半点声响?nbsp;
我终于还是忍受不了房间里那个破沙发了Q便又一ơ跟房东要求Q能不能让我把一些杂物放q隔壁的储藏室。房东斜着|g一下:跟你说过多少ơ了Q那储藏室租l一Ҏ工夫妇了Q里面住着人呢Q?nbsp;
我算见识了广东h的抠门,打再也不ȝq一dC?nbsp;
那天Q我出来倒垃圾,l过储藏室的门,听到里面H窸嗦嗦的,气就不打一处来Q我知道肯定是老鼠又在里面?*了。我狠狠C脚踹在门上,q不解气Q就又猛t一脚?nbsp;
门吱嘎的开了,我吓了一跟뀂我以ؓ我把门踹坏了Q正忐忑不安的时候,一个女人的脑袋怺出来Q确切的说应该是个女孩或者少妇,从她那蓬杄马尾辫和q有些稚气的怸我实在无法判断她的年龄?nbsp;
她轻ȝ问道Q您找谁Q?nbsp;
我愣了,呆在那里Q不知道说什么好?nbsp;
q时候一个有些猥琐的男孩子也把脑袋凑着怺出来Q迟疑了一下说Q你是隔壁的吧?Q?nbsp;
我一下子醒悟q来Q说Q是啊,是啊?nbsp;
男孩子笑d的得意的_我上ơ下班回来见q你?nbsp;
周围的空气戛然的停在那里Q有些尴。我赶忙说着Q不好意思,不好意思,打扰你们了。便q速的溜回自己的房门。我听到了他们轻d戉K的声韻Iq听C他们H窃U语的声韻I好像在说Q是不是我们qx动静太大Q吵到邻居了Q那以后我们要多注意了!之类的话?nbsp;
我喝了口_q静下来Q我才确信,那个一天到晚黑z洞的储藏室里真的住着俩hQ这俩h也许是房东说的那对民工夫妇?nbsp;
我突然冷W了一下,q夫妇呢Q一看也?0来岁的样子,U奔出来的?q是新婚夫妻?不自觉的W了W,自我解嘲的想Q民工么Q?农村出来的,l婚普遍早。那看来以后得称|那男人,那女Z。这h着Q还抑制不住的笑Z声?nbsp;
W一ơ跟q对夫L触是因ؓ我忘C带钥匙,q不了门Q便找他们借工Px门撬开?nbsp;
那是我第一ơ真正的L那个门,也是W一ơ去光顾那个阴暗的储藏室?nbsp;
门开了,他们夫妻看到我似乎很惊喜Q赶忙的让我q屋。我说明来意Q他们夫d转n扑֮伙去了。门开着Q里面黑乎乎的,我忍不住往里迈了一步。不知道脚被什么绊了一下,我以为是有老鼠Q吓?#8220;哎哟”大叫。他们中的一个,立马打开了灯。天花板上的那盏灯散发着昏黄的光Q我敢肯定那灯不会过10瓦。我很怀疑他们能从哪里买到这L灯Q在q样一个南方大都市我实在想象不出来哪里会有卖这L灯的。我猜想也许那是他们从老家带来的也说不定?nbsp;
我打量着q个我曾l很x杂物放进来的储藏室。我以最奢侈的估,戉K不会过10个^斏V四周没有Q何一个窗P门是唯一可以通风和出入的地方。房间里散发着一U潮湿的霉味Q钻q嗓子眼Q让人感觉恶心。我忍不住一个箭步退了出来?nbsp;
可是我却清楚的看刎ͼ戉K里除了一张单人木板床和零落在C的锅瓢盘,真的没有M插脚的地方,我真佩服那对夫L怎么呆在里面生活的?nbsp;
最后,夫妻俩找C们做饭的刀Q也是唯一一个有可能打开我房门的工具Q费了九牛二虎之力帮我弄开了门?nbsp;
门开了,我ƈ没有M要他们进来的意思。他们站在门口,把着门框。踮着脚尖Q一副腼腆的样子Q打量着我这个两室一厅的房子。女人终于说了一句话Q怎么从来没看见过您先生啊Q我怔着脸说Q我q没l婚。女的脸U了Q似乎说错了话,低着_不敢搭腔。男Z好意思地_那您一个h住这么大的房子啊。我没回{?nbsp;
两个人,半响没说话。不知道是谁先看C我放在客厅的电脑Q便忍不住说Q您有电脑呢Q?nbsp;
我心里一个咯噔,民工也懂电脑Q我_是啊Q你会上|么Q?nbsp;
L挠了挠头皮说Q我们读大学的时候,有电脑课Q上q机?nbsp;
我嗖的浑w一阵发凉,大学Q他们是大学生?可是怎么看怎么不像阿! 
我心里多有点被ƺ骗的感觉,故意问Q那你们现在做什么工作的Q你们什么学校毕业的Q读的什么专业啊Q?nbsp;
他们抿了抿嘴Q有点不好意思,我以下可揭穿你们了,真虚伪! 
H然L开口了Q我们读的学校不好,也就是个三流大学Q我跟我老婆是一个大学的又是同乡Q她LU,我读理科。现在我做业务员Q她在餐馆当服务员?nbsp;
我撇了撇_“?#8221;了一声?nbsp;
“我是**大学研究生毕?#8221;在我说完q句话的时候,我才发现Q门口的两个Z知道什么时候已l走了?nbsp;
我有点失落,猜测着他们有没有听到我提到**大学q个重点大学的名?nbsp;
众所周知Q这几年扩招Q大学生可谓是遍地爬。大学容易读了,可是׃却难多了。三大学的毕业生,真的是连民工都不如,要体力没体力Q要脑力又够不上根{而且三流大学学费q不见得低,甚至要比好的大学要高很多Q我q道很多三大学学贚w的惊人?nbsp;
看这对小夫妻Q估计是农村出来的,当初他们也许q不知道Q花光家里的U蓄Q得到的q一U文凭,原来在这个社会里也许什么都不是。背负着一w债务Q出来打工才知道Q原来三大学的大学生只能跟学没毕业的靠体力吃饭的民工是一个层ơ的Q都是命比纸薄,人比命贱的?nbsp;
W二天,虽然我内心深处还在揣着Q他们拿刀l我撬门技术这么好会不会哪天趁我不在也会这Ll的手Q可是总还是觉得别人帮了忙q意不去Q就C几斤南方的水果给他们拎了q去?nbsp;
他们g受宠若惊Q说什么也不要。我告诉他们这是广州这边的规矩Q找人帮了忙Q一定要表示的,不收是不给我面子。他们才诚惶诚恐的收下了?nbsp;
没过一会,他们又来敲我的门。我以ؓ是他们是把水果又送回来的Q结果开门后的第一句话pQ请问,q水果最多能攑֤久?我诧异的望着他们Q心里有ҎQ心惻IN他们以ؓ我给他们买的水果q期了?我正要发作,他们便补充一句:能放到过q回家么Q我愣了Q他们说Q过q没啥带回去的,q水果一定不便宜吧?我们惌q回ȝ时候带回去当年货。我有点哭笑不得_q州天热Q不能放那么久的Q个把星期就得坏了?nbsp;
他们有点无奈Q说了句谢谢Q就C?nbsp;
可是我明明听刎ͼL对女的说Q要不我们想办法留到8?5Q过节的时候打打馋吧?nbsp;
一个月后,农历??5Q单位每人发了一盒高U月|拿回来后Q我拆开了一个,感觉很难吃,想丢掉?nbsp;
l过那个储藏室的门,我改变了LQ想着丢了也怪可惜的Q他们那么可怜,倒不如给他们q节的好?nbsp;
看着门虚掩着Q我没敲Q就径直推开了,那盏昏黄的灯亮着Q两个hy在CQ男的正在小心翼的切一个小的月饼Q正准备把一块稍大点的给老婆吃,看到我站在门口,不知所措的说不来。女的正低头啃着明显已经有点坏了的水果,吃的z|有味Q我看到Ҏ有削皮,番石榴和火龙果都是带着皮吃的?nbsp;
男h呆了五秒Q赶紧要把那块稍微大点的月饼让给我吃Q我说我不吃月饼的,然后说明了来意。把那盒月饼攑֜门口准备离厅R女人叫住了我:大姐Q我都不知道说什么好了,你看Q我们吃的水果也是您l的Q您又给我们送月饼来Q我都不知道该怎么报答您了Q本来今天老公公司l他发了一个月|我们商量着l您送去的,可是一个拿不出手,没好意思,我们也没什么稀|物Q你有啥事要帮忙的,一定吱应一声啊Q?nbsp;
我这才知道,那一个月饼是她老公发的Q我也这才知道,她啃的水果是一个月前我送给他们的。我本来惌Q吃火龙果要扒皮。可是我忍了忍,没有说出来?nbsp;
周末Q隔壁的女h来敲门,问我有什么事是他们帮得上忙的Q我W着说没有。她眼尖Q看到我沙发上放着一大堆脏衣服,非要帮我z,我说有洗衣机Q一会丢q去是了,不费事的。她尬的站在那里,像是很对不v的样子,不知道该做什么好?nbsp;
我第一ơ,很热情的邀请她q门Q坐一会。她׃鞋,光着脚丫子,q了门。战战兢兢的Q似乎怕弄脏了我的地板Q不敢劲踩下去。她哪里知道其实我已l一个多星期没有擦过地板了?nbsp;
她告诉我Q今天她休班Q本来想帮我做点事的Q可是没惛_没做成。她g很羞愧,一直细声细气的{着我的话。她在我q里呆了半个时Q告诉了我他们的境遇Q说那些话的时候她一直很温柔Q像在说一个故事,丝毫没让我感觉到她的埋怨和委屈?nbsp;
我给她倒的那杯矿泉_她一直攥在手里,临走的时候,Ҏ了望我,我点头示意,她带C那个一ơ性的U杯子和那杯矿泉水。我猜,Ҏ想留l她的老公喝?nbsp;
从今天我才知道,他们是这LQ?nbsp;
两个农村出来的孩子,父母都是守着一亩三分地的地道农民,每年家庭收入从来不会过2000的困家庭,又都考上了同一所三流大学Q学Ҏq的需要是父母不吃不喝? q的家庭收入。读不v书,不想去,父母不肯Q说q是唯一一ơ改变农村孩子命q的ZQ跪下来求你去读。来MQ没׃学费Q好Ҏ个助学贷ƾ,好不Ҏ凭着优异的成l申请到了,可是毕业的时候却因ؓ没有q清h不发毕业证。四q的生活Ҏ靠着奖学金艰隄撑下来的。到头来Q辛苦的付出却换不到那一U毕业证。于是两人只能出来打工赚钱,攒够了钱好回去赎回毕业证?nbsp;
他们U着q个城市最廉h的房子,吃着q个城市最廉h的饭菜,q着q个城市最贫困的生z,可是一q到头下来却q攒不到1万块钱。这样下去,要还完两人的hq要8q?nbsp;
我不知道8q对一个h的青春意味着什么,也不知道8q后是不是还能有Z有权利买回他们的毕业证。可是我知道8q的q样的生z,不是随便哪一个h能撑得住的! 
那天Q我回来的时候,有点晚,楼道里的灯已l都开始亮着了,l过隔壁门口的时候,看到他们门开着Q屋里照栯是黑黢黢的,Ly在门口大口大口的扒着面条Q吃的很香。我问了一句:灯坏了?他先是迟疑了一下,然后憨憨的笑了:没呢Q省电,反正楼道里的灯亮着Q开着门,屋里也挺亮堂的。我W了。我q才知道Q怪不得他们屋里天天都不开灯?nbsp;
那晚他们的门一直敞开着到很晚。我在客厅里能隐隐约U的听到他们的谈话?nbsp;
他们先是谈了会,q个月又多花了多钱Q什么肥皂用的太快了Q水太浪费了Q上ơ过生日不该买那2斤肉的,以后z菜的水可以z脸Q洗脸的水可以洗澡洗脚,z脚的水可以z袜子,z袜子的水可以冲厕所{等之类的话?nbsp;
他们一边自责着自己花钱太多Q一边却又忍不住憧憬着好的未来?nbsp;
他们惌着Q不久的来Q也许还完了钱,可以要个孩子,也许来q能攒前买房子呢?nbsp;
听着他们兴奋的呢喃声Q我久久没有睡意?nbsp;
半夜Q我听到L喊肚子疼Q好象疼的很厉害的样子,“哎呀哎呀”的叫着。女?很着急,问怎么了? L说好象今晚吃多了Q撑着了。女的就招呼他赶紧v来上厕所?nbsp;
Lq疑了很久,g不想去,半响Q我听到L说话了:我不惛_上厕所Q我们攒的冲厕所的水q不够,那样q个月的水又要超支了。再说了Q上完厕所Q拉IZ肚子Q晚上容易饿Q?nbsp;
听到q里Q我脑袋轰的一下,I白了, 我的心被揪的生疼生疼Q那句话成了我整夜的梦魇Q拉IZ肚子Q我怕饿Q?nbsp;
听到那句话,我的心震g。我惛_了我的爷爗?nbsp;
L生活在苦命的旧社会,在那个吃不饱Q穿不暖的社会里Q一q到_孩子拼命的盼着q年Q因q能吃顿饱饭Q?nbsp;
所以,每个孩子在过q那天,吃的撑的肚子圆溜溜的,肚子再怎么涨,都不舍得d所。因为,M厕所Q拉IZ肚子Q会Ҏ感觉到饿Q可是过完了q_是没有机会再能吃K饭的Q所以每个孩子都憋着Q忍着Q因为那个年代,IPZ怕饿Q?孩子更怕饿Q?nbsp;
可是?1世纪Q在q么发达的年代,你竟然能从一个大学毕业生的嘴巴里听到q样的话Q你会有怎样的感觉?感动Q悲恸?q是心酸Q还是无可奈何的哀叹? 
或许都是Q或讔R不是Q?nbsp;
我无暇顾及一个弱者的心态,因ؓC会如此Q我也无能ؓ力。我唯一能表C的除了同情或许q是只有同情?nbsp;
我也曄鄙视q,甚至曄在心底侮pQ?z该Q谁让你没本事考个名牌大学呢!没钱M屁书Q自作自受! 
可是我也不得不承认,一个山里的孩子Q是不能仅仅凭着聪明才智p高攀的v名牌大学的门槛的Q那需要能力,实力。实力有时候除了良好的教育Q优U的老师Q还有很多很多,比如金钱堆砌的补习班Q比如只有城里孩子才能n受的到的全方位的教育Q又比如有有权有势的父母?nbsp;
他们没有Q他们是农村的孩子,他们没资格和权利有,没hl他们买各种辅导资料Q也没有全国的优U教师l他们手把手的教Q他们没见过钢琴Q没见过电脑Q他们甚至除了村支书Q不认识M一个可以称得上q部的领对{?nbsp;
他们一天到晚只会看发的那唯一的课本,只会拼命的学Q只知道只有考上大学才能改变自己的命q?nbsp;
听着他们y脚的英语,不太利的普通话Q有些邋遢的装扮Q破旧过时的衣着Q我们都会忍不住W?nbsp;
我们喜欢在背后对他们评头Q喜Ƣ抿着嘴吧装作淑女般的嘲笑他们的无知,甚至喜欢在要d麦当劳的时候故意问他们M厅R习惯了看他们的尬Q习惯了看他们的无助Q也习惯了他们失ȝ比得到多?nbsp;
当我们有了太多的q样的习惯,于是我们便开始不在乎Q他们是不是饿,是不是在我们费_食的时候,他们在心底里q默늝Q不敢去厕所Q怕拉IZ肚子Q饿Q的事实?nbsp;
“人怎能跟h相比呢?没有可比性!农村的怎么能跟城市的孩子比呢?没比的必要!”q是以前我的一个朋友经常跟我说的一句话Q那时候听了觉得好W,现在惌v来,觉得有点无可奈何的心酸?nbsp;
人难道真分三六九{么Q谁分的Q你么?Q?nbsp;
q州的治安是来差了,住这U私房,真的是冒着生命危险的。可是眼下我又找不到合适的房子搬,只能暂且战斗在最前线了?nbsp;
整栋楼有十几个房东,他们是天天围着d桌懒得轮值班的,反正L也不是他们家的东ѝ最后在我们几个房客的据理力争下Q好歹请了一个保安?nbsp;
我下班回来,看到g吵吵嚷嚷的,原来是保安抓住了个嫌疑犯。我好奇的瞥了一|qh不是别hQ就是住在我隔壁的那个看上去有些猥琐的男人。他低着_拼命的解释:自己不是偷Q自己是住在q里的?nbsp;
可是没有人相信他Q因为当保安问他住几|哪个戉KӞ他只说了6|却说不出戉K受因为储藏室是没门牌L的! 
他像个吓坏了的孩子,眼睛惊恐的扫视着周围的每个hQ听着叽里呱啦的客家话Q他无力的解释像一个h最后的d挣扎?nbsp;
我本能的走过去,他看C我,眼睛里充满了希望Q含着泪珠的眸子闪q某U感Ȁ。我抬了抬我那L直视q方的眼睛,发现周围的h都盯着我?nbsp;
我迟疑了Q立d住了自己?公分的高跟鞋。我轻轻理了理自q_色z装Q脸上滑q让Z易察觉的一丝惊慌和x。我x头冲向楼梯,当作什么都没发生过。可是我怎么也抬不动我的双腿Q我僉|在哪里半U钟?nbsp;
我尽量的压低嗓门Q很CD矜持的说Q你怎么没带大门的钥匙?是不是又丢了Q真让h烦! 
保安攑ּ了他Q我微笑着_他是我的q房亲戚。不好意思,l你添麻烦了?nbsp;
我扭_t着我那尖的高跟鞋上楼了,楼道里留下一?#8220;嗒嗒”的响声?nbsp;
他老婆回来的时候,一直隔着门,站在我门口不停的说着Q谢谢。我没吱声。过了不久,g她已l走了的时候,我打开门,看到他们却还站在门口Q捧着一大把q和红枣?nbsp;
我盯着他们Q没开门,他们也没敢说q是l我。只是一个劲的解释:下午那会Q他老公是想在楼下捡几个矿泉水瓶子呢Q要早知道不让捡Q他说啥也不M?nbsp;
我本x断她的讲话,告诉他们Q不是不让捡Q是你们长的不像住在q栋楼里的h。可是我q是忍住了,l箋听他们说?nbsp;
他们始终低着_d慢语的,_他们也知道这里的规矩Qh家帮了忙呢,一定要感谢的,可是他们没什么能拿的出手的东西,q是他们老乡回家l他们捎来的安的特产,都是自家U的Q没用过化肥Q?让我攑ֿ吃?/div>
我还是开了门Q拿了张U,让他们把那把C物攑֜了一张洁白的A6U怸?nbsp;
那把q和枣我没有吃Q我放在那里,看着。他们都光溜溜的Q泛着光,很心想的样子Q一般大的个头。很饱满?nbsp;
房东l于找上门了Q开门见qW一句话是Q是不是你家Cq一个hQ我愣了好大一会,才想hQ可能是保安跟他说了?nbsp;
我把事情的来龙去脉解释了一下,q试图说服房东给隔壁的门也挂个号Q房东不情愿?#8220;嗯呢”了几壎ͼ便走了?nbsp;
W二天,我真的看C们的门上贴了张纸Q写着Q清z工具存攑֤?nbsp;
没过几天Q我大学里的死party兼室友和Ҏl识的男友来q州找乐Q我被迫请了一天假Q陪他们?nbsp;
随便找了个馆子想请他们吃_菜Q可是朋友说_菜没味Q没吃几下,嚷着赎ͼ后来q是不得不去了湘菜馆子,才算满他们的胃口。吃完饭Q没事,街上是不敢拎着包包闲逛的Q就M“钱柜”K歌,唱到一半,l果又性子Q非要去“朝歌”。弄来弄去,歌没唱好Q还耽误了时间?nbsp;
晚上回来的时候,已经有些晚了。可是我看到隔壁的灯q亮着Q屋里还嘤嘤的传来抽泣的声音?nbsp;
我没理会那声韻I开了门Q把朋友让了q去。朋友进门就开了电脑,把那首《不怕不怕》开的声韌大Q震的整个房子都晃悠?nbsp;
g的终于忍不住了。来敲门Q让我们动静点。我关了音乐Q跟朋友谈v了隔壁的那对夫妅R朋友以为我在讲故事Q一边说着无聊Q一边就摸过烟开始吸。我最讨厌烟味Q因为那能呛出眼泪?nbsp;
我赶朋友出门Q让她在楼道里吸够了再回来?nbsp;
半支烟工夫,朋友d的敲门,兴奋的叫着她男朋友的名字,说快出来听戏?nbsp;
他们俩出去,便没了声息。好久才回来?nbsp;
朋友一q来Q就凑到我x边说Q你别假正经了,是不是每天晚上没事,去隔壁听音乐啊Q?我还没来得及反应q来Q他们俩大Wv来。没完没了的Q怪烦人的?nbsp;
后来Q我才知道,原来他们俩是去隔壁门口听动静M。至于什么动静,我没问,但我惻I应该与颜色相兟?nbsp;
晚上睡不着拿v《洛丽塔》,看了两页Q就开始走。后来迷qLp的睡着的时候,我似乎真的听C隔壁的动静,声音不大Q但很诱人?nbsp;
朋友呆了q不?天,我就开始烦w,我感觉那U以往的宁静被打破了,而且一个单w女人看CҎ人在你面前晃来晃ȝ亲昵Q真的容易中风! 
送走他们Q我开始变得神l质Q我l常故意关门很大壎ͼ估计开开兛_防盗门不停,故意惌隔壁听到我在发脾气,故意惌每个人都知道我心情很不好?nbsp;
隔壁的小夫妻q是每次看见我笑W的Q有点腼腆的。男人那头有ҎaL点ؕ的头发依旧还是在发梢上泛着或多或少的头皮屑Q女人的马尾辫也依旧蓬松的拢在后面,有点像秋天ؕ飞的树叶?nbsp;
可是我见了他们,却没有笑Q也不再板着脸,只是面无表情的点个头Q用自己有力的鞋跟敲打着地面Q匆匆离厅R?nbsp;
每次低下_看着自己?公分的高跟鞋Q我才恍惚的感觉刎ͼ其实没有了这鞋跟Q我g也不高! 
然后是无休止的p和郁P 我猜Q他们一定是_ֿ挑过了的。估计一麻袋里才能挑般的q枣子吧?nbsp;
惛_q里Q我W了。不大会Q我又后悔v来,我真不该W!
有这么几天,那扇门一直关的紧紧的Q屋里也一直没亮过灯,我扒在门~里瞅,竟然不能看到里面的Q何东ѝ有几次Q我甚至使劲贴着x听,竟然也丝毫没听到M动静。我开始害怕,担心他们不声不响的搬C?nbsp;
我甚臛_始抱怨,Z么走的时候没打声招呼。我不知所措,在房间里t来t去Q狠命的撕扯着那个抱枕Q用力敲打着键盘Q写着一些很刻的文字,用蔑视的眼光看着周遭的一切?nbsp;
我发现我有好久没q么情AȀ动过了,甚至应该说我有很多年没这么情l化了。我H然伤感h。似乎失M什么珍늚东西Q似乎别人偷C原本属于我的一份心情。我开始诅咒,开始谩骂,开始憎恨这个世界?nbsp;
我每天站在门口,期望着能突然有人站在我面前W,我L忍不住去瞄那扇门Q希望能看到里面透出一丝E淡的泛着黄晕的光。可是一q好几天Q都没有?nbsp;
我终于还是跑L了那个有点啰嗦的房东。我说我要租那个储藏室。房东讶异的看着我:你要住?我皱了皱眉,_我要放沙发。房东似乎有点ؓ难:你想什么时候租Q我诧异了:N现在q有Z么? 不是I出来了么?房东_那对民工下个月到期?nbsp;
我忽然有U莫名的ƣ喜Q难道还没走Q我l结巴巴的说着Q那下个月我U! 
{我再经q那扇门的时候,我有炚w_因ؓ我似乎看到里面锅瓢盘碰撞的声音Q因Z乎我能听C们的H窃U语?nbsp;
那天Q我睡的很早Q我其实一点也不困。可是我q是早早的h在了床上Q我睁大了眼睛,看着天花板,想着有一ơ能有h敲我的门?nbsp;
一阵开门的声音惊动了我Q尽那声音的q没蚊子“嗡嗡”声大Q可是近几天我练׃一双聪慧的x。我唰的从床上爬hQ冲了出厅R?nbsp;
那女人看着我当L一声开门声Q吓得站在哪里不动了。我很尴,赶忙掩饰自己的那U激动:回来了?怎么q几天都不在Q回老家了么Q女人望了我半响Q吞吞吐吐的_q没睡呢Q大姐。没Q没呢,没回厅R这几天有事?nbsp;
她第一ơ不是微W着跟我说话Q也是第一ơ没有过多的说什么,p了那间我天天盯紧了的储藏室?nbsp;
我愣在那里,好久Q好久,我才反应q来。我H然惛_Q是那种有点委屈Q有点付Z很多热情却被冯后的难过。可是我没哭出来Q也没掉泪,我只是关了门Q打开了电脑,开始O无目的到处游荡?nbsp;
那晚Q我听到她一个h忙到很晚Q丁零当L不知道是做饭q是收拾东西?nbsp;
听到那个屋里一直传来一个h的声响,我突然很奇怪,那男人呢Q?nbsp;
我孤单v来,感觉到寂寞的可怕,其是那隔壁的单调的动静Q让我彻底的开始感觉到n冰凉?nbsp;
我突然意识到Q原来一个h是这么凄清,q么荒凉的可悌Ӏ我裹紧了睡衣,可是仍旧无法驱散q午夜的孤寂?nbsp;
她似乎有点不好意思,在门口站了许久,没有敲门Q也没有要走的意思,低着_好像在思烦着怎么开口?nbsp;
其实对于昨天那些单的话语Q在南方q个有点h的城市,不算什么,客套昑־奢侈Q敷衍是每个人对周遭的理所当然的态度。可是我看得出来Q她qƈ不适应q种Z之之间的hE和乏味的陌\。也许,她以为,在这里还是跟安一栗可是,她单U的Q怎么能想象的出来在异C乡很多时候h和h是没人情呛_a的?nbsp;
我主动开了门Q走了出去,看着她,{她W一个开口?nbsp;
她听到门响,忽的抬v_眼睛里有Ҏ慌,有点不好意思的ƣ喜。她W了W,我明昄看到她的眼睛U红的,肿了Q有哭过的痕qV?nbsp;
她微微点了下_对不起大姐,qx你挺照顾我们的,昨天我心里难受,对你态度不大好,你别在意。我q有事,要赶着出门Q没别的事,我走了?nbsp;
她{qnQ我一把拉住了奏V我W一ơ像对一个朋友那L语气问到Q出啥事了? 
Ҏ了,泪珠子像断了U一P噼哩啪啦的掉下来Q所有的委屈Q压抑,和内心深处的痛苦Q都随着眼泪倾泻下来。我毫无防备Q她一下趴在我肩头Q哭出声来。我没拒l,轻轻的环住了她,想着也许q样能多分担一些她那莫大的苦楚?nbsp;
她娓娓道来,我才知道Q她老公住院了?nbsp;
他老公本来做业务员Q可是由于本性木P不善于交际,所以业l一直不好,只好辞职了,另找了䆾体力zL时做着。由于体质不好,又加上吃的不好,每天都很累,那天Q去上班Q不心被掉下来的砖头砸破了_住进了医院。本来以工伤,单位会报销医药费,可是单位不仅不管Q还把他开除了。积蓄都花光了,她只好回来收拾收拾,然后L老公接回来养伤?nbsp;
我拿Z张银行卡Q想l她取点钱,暂时用着Q她L不肯Q就一溜烟的跑下了楹{?nbsp;
下午她和她老公回来了Q她老公的头上包着U布Q有气无力的样子Q看到我Q还是挤ZW容。看着他那矮矮瘦瘦的样子,我似乎觉得他看上L那么猥琐Q尽卑微,却很_Q尽怯懦Q却很坚强。我回了他一个微W,q一ơ,我笑的很真,很用心?nbsp;
那一天,一整天Q我心情都很好。这是我从来到这座城市后W一ơ这么开心,W一ơ这么用心的W,W一ơ这么在乎自己是否笑的认真?nbsp;
那天Q我看到了自p上掉下来的面P赤裸裸的摆在我面前,露着森白牙无力的呻吟,无力的挣扎,无力的哀嚎?nbsp;
而我Q就那么漫不l心的,拿v打火机,点燃了它?nbsp;
我小心翼的敲开了他们家的门Q女的不在家Q上班去了,L颤巍巍的站在门口Q望着我傻乎乎的笑着Q不知道该怎么把我让进门?nbsp;
我ƈ没有要进ȝ意思,那么直直的站在门口Q像聊天一P像跟家h朋友说v话来Q你们单位叫什么名字?凭什么在你上班期间受伤不按工伤负责医药费Q他们有什么理由开除你Q按照《劳动法》你有权?.....我话q没说完Q他傻ȝW了Q插嘴道Q我知道Q我也读q大学,我也懂法Q可是没用的Q《劳动法》也许真的能保障你们q些白领的合法权益,可是对于一个民工,是没有Q何保障可a的。拿什么保障?谁给你保障?你找谁讨说法Q什么这个机构,那个机构都去q了Q磨破了嘴皮子,Ҏ没h!d位,那些老板雇䄦的打手不把你打残废算是幸q的了,再说Q去挨顿揍,最后还是自己掏腰包看病Q更不划。算了,我认了,谁让咱没啥社会地位呢Q?nbsp;
听着他的ҎQ听着他那些话语,我似乎感觉到了自qq稚Q社会是D酷的,生活是残忍的。报U怸那些民工q年讨要工钱反被打,q了zLƠ工资,受了工伤没h的新闻一q幕现在我的眼前。我一下子开始清醒,C会是q样的,你让q样的一个弱者去那里讨说法,你让q样的一个社会底层的人,拿什么来l护自己的权益? 
我不再言语,我感C语言的苍白无力,我感C词汇的乏,我也感到了自己那些不太现实的x的天真?nbsp;
我有点虚q沉沉的叹息,呓语般的_外面的社会太无奈Q这么艰难,q是回去吧,与其q样备受凌i和煎熬,不如回去q虽然困却有尊严的日子?nbsp;
他还是笑了,W的有点无奈。他抬v_望着q处Q似乎在自言自语Q回去?回去怎么办?Ơ的学费无论如何要还的,都不q,国家怎么办?国家在我最需要帮助的时候Z手,我不能忘恩负义,做h要厚道!何况安q有弟弟妹妹在读书,父母也年q了Qn体又不好Q不赚钱Q怎么供弟妹?怎么ȝ娘? 
做h要厚道!听到q句话,我惊呆了Q一个生z这么艰隄人,一个落到C会最底层的hQ竟然还想着国家Q竟然做人的原则比我们这些衣冠楚楚的人都高尚。我开始感觉到自己g变小了,有些卑微?nbsp;
我睁大眼睛,看着他,有那U很敬畏的目光一直盯着他,x里飘q的全是他那些幽q道来的话: 
农村真的IP很多人都_I生那么多Q其实,Z么要生了一个还要生一个?谁愿意那么穷q要d个孩子,生活压力更大Q可是没办法。被逼的啊!在农村,了Q没力_能力的,q于开始要M闲hQ农村的老h没养老保险,没Q何社会福利,也没M生活保障。如果不多生孩子Q老了后,一个孩子养不v俩h老,那还不得zL饿死Q于是只好多生几个,分轻负担。养儉K老是农村不得已的传统Q?nbsp;
每个农村的父母都惌己孩子有出息Q而想改变命运只有考大学一条出路,可是d学却是很昂贵的,所以家里只要有一个考上大学的,全家都要遭殃Q跟着研R卖铁的供着。可是现在大学生毕业工作很难找,其是读的学校不好,专业又不好,更难找;没拿到毕业证{于没上大学Q去M单位人家都要看你学历证书Q没有,只能当民工?nbsp;
说到q儿Q他很无奈的摇了摇头Q用力的憋着嘴巴Q不再言语?nbsp;
我也没说话,我不知道该说什么好Q因是一个从生zd城市里的孩子无法惌的,于是我选择沉默。也只能沉默?nbsp;
中午Q我叫了两䆾快餐Q我端了一份给他,他说什么也不要。我假装生气道:我打C一个上午,让你没好好休息,请你吃个快餐是表示歉意Q他推辞不掉Q只好接q去了?nbsp;
我知道一个快,太寒了Q可是我知道Q如果过于奢侈的东西Q他又怎么肯接受? 
晚上Q女的很晚才回来Q篏的一w疲惫。我听到L_我给你留了好吃的Q你饿了吧,快吃吧。女人坚持说吃过了,非要L吃,因ؓL有伤在nQ需要营充R听着他们推来推去。我的眼眶湿润了?nbsp;
我知道,我又错了Q我太不了解他们彼此的爱了,他们的爱是双份的啊!又怎么忍心一个h独吞一份自p为是好的东西Q而让另一个咽着口水眼睁睁看着呢? 
那天Q我l于知道Q两份爱的倍数很大Q很大,很大。以至于我根本无法看到它的边际,无从理解它的内涵?nbsp;
男hl于慢慢的好h了,{他完全康复的时候,我托朋友l他找了份稍微轻杄的工作,虽然赚钱不多Q可是毕竟比先前的要好些。他们夫M带着满怀的感Ȁ不知道说了多遍Q谢谢。尽我一再说q是举手之劳Q可是他们还是不停的说谢谢。弄的我都有些惭愧了?nbsp;
一个月后,男h和女人兴高采烈的跑来拽着我往外走Q我q没弄清怎么回事Q他们就把我拖出了门外。直到楼下,我才搞明白,原来男h发工资了Q非要请我吃饭。我呵呵的笑着Q说Q不用客气了Q都是出门在外,互相照应是应该的Q吃饭就免了吧。可是他们固执的拉住我,非请不可Q说Q不P于情于理都说不过厅R看着我也一副坚决不ȝ样子Q他们俩急了Q你是不是怕我们带的钱不够Q不看,我带了好几百呢。说着pL钱。看着他们憨厚可爱的样子,我实在推辞不q,只好{应了?nbsp;
我一边走着Q一Ҏ着Q怎么h能既让他们请了我Q了却了他们的心愿,又能Z们省钱。我惌v了广州最便宜的饭馆,拉面馆?nbsp;
于是我装作沉思良久的样子_我知道有个地方的东西很好吃,我最喜欢吃了。不如我们去吃兰州拉面吧。他们俩先是一呆,接着pQ那怎么行呢Q怎么能请你只吃碗面呢Q说啥也要请你吃好的?nbsp;
我故意很生气的样子:我就喜欢吃拉面,你们要是诚心hQ就h吃拉面,要是吃别的,我可不高兴了?/div>
他们俩看我生气了Q只好答应着Q说Q一切都依着我?nbsp;
C面馆Q我点了一牛肉面Q男的点了一素的,一牛肉的。等拉面端上来的时候,男h把最大的一带牛肉的面推到我面前,把另一有牛肉的端l他老婆Q他自己的那却是碗的素的?nbsp;
看着我疑惑的眼神Q男的赶紧解释到Q我喜欢吃素的。以前的伤口q没长好Q吃荤的对伤口不好,素的好?nbsp;
其实我知道,q根本不关伤口的事,我知道他是ؓ了省钱,可是他不会亏待朋友,于是只能亏待自己?nbsp;
看着他大口的吃着面,看着他老婆不停的把牛肉夹到他碗里,看着夫妻两h你不停的你把肉夹l我Q我把肉夹给你;我的嗓子哽在那里Q难受的咽不下去一口面。我能感觉到我的眼前一片模p,不知道是面的热气扑在了脸上,q是有别的东西糊住了眼睛Q能感受的只有一阉|ѝ?nbsp;
W一ơ,我学着他们的样子,吃光了碗里的面,喝光了碗里的汤,管我撑的胃疹{可是我W一ơ能感觉到我内心深处很充实,很满?nbsp;
虽然吃的?块钱一的拉面Q但是我知道q一很c那不仅仅是花去了他们好几天的生z费Q让我得到的更不仅仅是饱q胃,而是我从未有q的感激和体会。这无论是多钱都不能买得到的,也不是所有h都能得到的恩惠;那种价值只有h性中才有?nbsp;
我想Q这是我至今为止吃过的最늚一KQ它真的很奢侈,很昂c?nbsp;
一个懒z洋的午后,我的那个朋友l我打电话来Q当我听完他的叙qͼ我吓呆了Q我不知道他说的是不是真的,也没听清楚事情到底怎么回事Q我只知道,我隔壁的那个L被抓q了公共安全专家局?nbsp;
朋友不停的埋怨我Q怎么会给q样的h介绍工作Q言语间的不满,无疑是说Q我让他帮忙找了q个工作Q事情现在弄成这P他在那个公司老板面前已经颜面失。听着他愤愤的挂断电话Q我q道,以后q个朋友是没了Q更别说再找他帮忙给那对夫妻介绍工作了?nbsp;
我已l来不及兛_Q这份或许叫友谊的东西还是否能完整的存在Q也无心去跟q位朋友道歉Q我只想知道他怎么P我只惛_清楚事情到底是怎么回事。我在潜意识里竟然多了䆾对他的信任,我告诉自己,也许q是个误会?nbsp;
我请了假Q急忙的赶回家Q跑上楼Q去敲那扇门Q可是良久,都没人来开门。我有点pQ我想也许女的已l赶d共安全专家局了?nbsp;
我无力的靠在那里Q望着隔壁我的门,H然伤感h。我看到了我门框上脓着一张纸条,我跑q去Q撕下来Q是女的l我留的a。上面没说什么事Q只是留下了一?**的地址。我来不及多惻I便赶M那个***?nbsp;
赶到那里的时候,我看C?*正在对女的训话,女的低着_忍住抽泣Q耸动的肩膀g在极度的压抑着要哭出来的声音。旁边还坐着一个中q妇奟뀂那个中q妇女频频的q眉头Q尽量的让n子往一辚wQ唯恐女人那w有点破旧的衣服h奏V我冲过去,拉住女的背问道Q到底出了什么事Q?nbsp;
两个**先是打量了我一番,沉吟了半响,然后口气~和的问道:你是Q我没看他们一|自顾的说Q我?*晚报的记者,Ҏ我的朋友Q我x扑֥了解一下情c?nbsp;
两个**互相看了一|半信半疑Q但是又g不敢冒险Q于是姿态便低了下来Q不再大声的吼着对女话,Ҏ也客气的套v交情来?nbsp;
我把女h拉到一边,问她到底是怎么回事Q她老公在哪里?女h看着我,q没开口,眼泪刷的掉了下来,我安慰她不要哭,先把事情跟我说清楚,我们再想办法?nbsp;
原来事情是这LQ今天上午,他老公Mؓ公司的一个客户送资料,在公共汽车站{R的时候,正y遇到“飞Rparty”抢劫正在{R的一个妇女的包。妇x命拉住自q包哭喊,却没有一个hȝQ正在双方你争我夺,僉|不下的时候,他看CQ想都没惻I冲q去Q帮妇女夺包。无人怎么打他Q甚xZ刀子,可是他还是拉住包不放手,q时候执?*赶来Q?#8220;飞Rparty”侉K窜了?nbsp;
本来事情p么简单,可是?*赶来的时候,看着他也在夺包,以ؓ他是抢劫犯的同伙Q就问那个被抢的妇女Q认不认识这个男的,妇女一口咬定不认识Qƈ且还Q她也不知道q个L?#8220;飞Rparty”同伙Q还是另一伙抢劫犯Q反正跑上来夺她的包?*二话不说Q就带走了男人?nbsp;
׃男h着急给客户送资料,所以再怎么解释都没用,挨了匪徒的打也就|了Q竟然还?*猛揍一,让他老实交待。他怕耽误公司交待的Q务,只好报出了公司的名字Q本想着q样只是可以赶紧让公司派人来把资料及时{交给客户Q没惛_Q公怸听,立马不承认他是本单位的hQ也是说他立马p开除了?nbsp;
**通知了他的老婆Q他老婆一来,p定性ؓQ抢劫犯家属。不停的被训话,q让她交待问题。她吓得不知道说什么,脑袋一片空白,要是我不来,她真的不知道该怎么办? 
听完她的叙述Q我一股无名火׃来了。我转n到那位妇x边:请问Q你是受害人?我想采访一下您Q这是我的工作证件。妇x了,不知所措的看着我,我不理会她的莫名其妙Ql问道:请你详细描述一下当时的情况Q你Z么就认定q个帮你夺包的h也是抢劫犯,Z么你׃能认Z是来帮你从匪徒手上夺回包的h呢?
妇女Q看了看我,又看了看**Q慢吞吞的,l结巴巴的说Q怎么可能有那么好的hQ这q头Q谁q爱闲事啊Q难道他不怕死Q他要是真帮我,那他不是d是_有问题。pol.ice听着Q也频频点头Q似乎她说的才是一个正常的人所应该做的?nbsp;
看着他们理所当然然的表情Q我愤怒了Q我大吼hQ他如果是抢劫犯的同伙,Z么抢劫犯打他Q他如果也想抢你东西Qؓ什么pol.ice来了不跑Q在pol.ice来之前那会,他完全可以抢了你东西pQ你东西了么?他打你了么?有目击证人可以证明他也是在抢你包么?你们pol.ice有什么证据证明他是抢劫犯?是因Z没有q个城市的户口?q是因ؓ他穿着不够华丽Q一个冒着生命危险帮你忙的人,你竟然还要指责他是抢劫犯Q如果是你被冤枉Q你会怎么P 
我深深吸了口气:你们在没证据的情况下Q就抓hQ就非法拘留Q你们这是犯法!我指着那个妇女Q你q样不识好歹Q分不清好h坏hQ你不觉得惭愧么Q?N你也要教育你的孩子,事不兛_Q高高挂P 
所有的人都愣在那里Q不说话Q我知道Q在q样一个治安؜乱,世风日下Qh心不古的城市Q在q样一个,ZZ间冷漠的不带丁点温度的社会,在这样一U你被欺负,我无视的风气下,没有人开始相信善良,也没有h会去怿会有人无U去帮助别hQ甚臛_你去好心的做一件你认ؓ对得赯心的事情的时候,在多Ch眼里Q那成了你伪善的最好外衣?nbsp;
pol.ice可以抓错你,法律可以错判你,可是你要惛_U正q个错误却不是一件简单的事情?nbsp;
抓错你,可以只是因ؓ怀疑你Q就能给你戴个嫌疑犯的帽子;疑罪从无在很多时候只是法律条文里的一句话而已Q现实中能真正诏d施的屈指可数。判错你Q可以有一万个理由归咎于司法的不健全,可是没有ZZ受到的不公待遇负责,提v国家赔偿Q也只是说说而已Q又有哪个h能真的得到过q样的道歉Ş式?Q?nbsp;
我知道,要给他洗清罪名,我必d力以_我必L_的证据证明他是无辜的Q他是好人,他当时是惛_帮助那个妇女?nbsp;
管Q现在妇奛_p其辞,已把自己搞糊涂了Q自׃说不清楚他到底是不是来帮自己的等{理由来推脱Q不想面对自己遇到好人,反咬一口的事实。pol.ice也以虽然没有证据证明他是抢劫犯,但是事关他出现在事发现场Qƈ与此事有兌为由Q不能彻d底的q他一个清白?nbsp;
我知道,要靠抓住当时的那两个抢劫犯来Zz脱不白之冤可能性微乎其微,我只能想办法扑օ他证据。我利用自己是记者的w䆾Q想办法,扑ֈ了当时事发现场的2个目击证人,是一个报亭的老头和一个推着车买水果的妇奟뀂他们都说当旉L的确是去帮被抢的妇女夺包Q不是抢劫犯。可是当我想要他们陪我去?**跟pol.ice证明一下的时候,他们却死z都不肯。说不想多管闲事Q怕惹一w臊。在我苦苦哀求无果的情况下,我不得不耍了点小手段Q与其说是手D,不如说是无奈之D?nbsp;
我说我是记者,现在要对那天发生的事Ӟ写篇评论。广州街头一妇女被抢Q好心h施救Q反被诬赖是歹徒Q旁观者无出头Q我q故意说Q你们俩我也会以匿名形式你们事不关q态度写进ȝQ不知道你们的孩子看了,会有何感惟?nbsp;
看着两h有点q疑Q我又说Q如果你们肯证明Q我当然也会在文章中把你们张正义,深明大义的善良D动报道出来的。我怿你们都是好hQ都不会眼睁睁的看着另一个好诬赖受不白之苦的?nbsp;
他们掂量了很久,l于q是被我说动了?nbsp;
我又L了男人公司的上司Q尽他很不情愿的开证明说那天的是z人去l客户送资料的事实Q但是碍于我与他们老板朋友有交情的情面Q还是开了。尽,我也知道Q那个原来的朋友其实也许已经没得朋友可作了?nbsp;
我找了律师,咨询了这斚w的法律,托了很多朋友和同学,l于把男人弄出来了?nbsp;
管出来的时候,pol.ice没一句道歉的话,管那个受过他帮助的妇女没一个谢字。可是,我看得出来,他ƈ没斤斤计较的d乎。v码证明了他无|,证明了他是个好h?nbsp;
当这件事发生的时候,我失M原本可以UC为好友的朋友Q甚臛_M以后可能再联pȝ可能。但是我得到的更多,更多Q我得到了让一个好人恢复声誉的ZQ我得到了去帮助一个值得d助的人幸q,我也得到了一份我对自qp的感Ȁ?nbsp;
我不知道Q他以后再碰到这L事还会不会毫无顾虑的冲上d忙,也不知道他内心是不是已经开始对于做一个好人的概念有了新的诠释Q可是我知道他本质的善良不会因此而动摇?nbsp;
可是无论怎样Q也不管以后他会不会l箋q样做,我们都没资格再去怪他Q也没权利去让一个受q伤害的好h忍着痛再去迎头顶刀子!因ؓQ那个拿刀子伤害他的hQ其实就是我们,我们q些人,我们q个C会?nbsp;
天空飘着雨,有点阴霾Q来来往往的h潮,L一张张没表情的脸,l箋在这个城市生zȝQ没有h知道曄发生q这L一件事Q甚臛_初亲Dq此事的Z许早已当作一个谈资将光落在脑后?nbsp;
世界忘记了,可是我记得,那天记得Q岁月记得?/div>
自此以后Q那夫妻L昑־有点卑微QL在感Ȁ了我之后Q有Ҏ不v头来的难q。似乎全都是他们的错Q似乎他l我们,l所有的人添了很大的ȝ一栗也许,真正善良的h都是q种心态,L不停的从自n扑֎因,L觉得如果我够好,又怎么会这P却从来不L罪别hQ不L责Q推卸到别n上?nbsp;
我试囄男h再找份好点的工作Q无奈,夫妻两hLW眯眯的_不麻烦了Q他们找到工作,已经在上班了。其实我心里明白Q他们知道上ơ给我添了ؕQ是无论如何弥补不了的,管我不在乎Q可是他们在乎,他们不想再来让我为难Q所以便拼命拒绝我的好意?nbsp;
男h早出晚归Q我x许是真的扑ֈ工作了。看着他们每天{疲力尽的样子,我心里酸酸的Q却又不知道该如何帮他们。我W一ơ感觉到Q那U无可奈何的难过Q竟然是能折h的?nbsp;
元旦的时候,我在楼道遇到他们Q夫M人高兴的跟我打招|说要出去吃大。看着他们有说有笑的出门,我心里不艳v来,也许在我们ؓ他们难过的时候,他们却能扑ֈ属于他们自己的生zȝҎ快乐和幸?nbsp;
W二天,我一看到他们Q就开始调侃:昨天d里吃的大?他们q没有不好意思,而是秘的笑了,那笑有点天真Q又有点温暖。女的趴早我xҎ悄的_大姐Q你知道么?有种店,是一块钱吃到qQ我惊诧了,睁大眼睛看着他们?nbsp;
在广州呆q的人都知道Q有很多快餐店,Z吸引֮QdƢ在门口张脓着一块钱吃到q大条q,可是我们每个去过的h都知道,那只是一U标语,真的q去消费了,是永q不可能会让你花一块钱吃顿饭的。说句实话,q去吃饭q你一个hQ吃下来Q再怎么节省也要20块钱。何冉|夫妻俩h一块去吃呢Q?nbsp;
我很怀疑的看着他们Q他们似乎有点不好意思了Q男人终于忍不住了说Q真的,大姐Q我们没骗你Q我们昨天去吃过了,我们两口子一共就׃五块钱!我失W出壎ͼ怎么可能Q米饭一个h都要两块钱呢,五块钱,你们吃的啥? 
女h嘿嘿的笑了:我们q去Q看菜单Q发现只有一U小菜是一块钱Q就是花生米Q这么小一。一边说着Q她便用手比划着Q其实她不比划我也知道那花生,估计一׃会超q?0_花生米。因为在馆里,q种一块钱一的qcI只是Z响应他们的一块钱吃到q口号的。现实中真正ȝq个菜的人屈指可数?nbsp;
女hq在眉飞色舞的说着Q他们的例汤是免费的Q一大盆呢! 反正c饭按h头算钱,一个收两块Q我们俩qqc一人吃了四米饭,喝光了所有的汤,吃的饱饱的,只花了五块钱呢?nbsp;
说完Q他们俩相视一W,反而让我觉得不好意思v来。我不知道,他们是怀着多大的勇气,走进一个还不错的餐馆,坐下来,只点一花生米Q却能吃完四饭的?我也不知道,他们在喝光免费的汤时Q?一_花生米q一饭怎么吃的那么满I那么开心?nbsp;
我想Q当Ӟ肯定有很多h用异L眼光看着他们Q甚臌会有人窃H私语的W话他们老土Q也总们甚臌够听到别Zq话语Q也能看到别人鄙视的眼光Q但是他们却q能l箋坐在那里Q吃完那KQƈ且是高高兴兴的吃完,然后拿五块钱M单?nbsp;
我ƈ不觉得这样做有多么可耻,也ƈ不觉得这样做会有什么不妥,拿五块钱来消费也是顾客,消费五块钱ƈ不就比消费了50块的客h低一{。但是,无论什么时候,我们却往往看到在某些消费场合,g高消Ҏ能得到好的周到的服务Q又g有钱的更能得到尊重?nbsp;
我承认,如果是我Q怀里揣着五块钱,是绝对不敢去q样的餐厅消费的Q我没有勇气d叫一一块钱的花生米Q也许尽我的食量只是一米饭加一花生米Q但是我q是会要几个也许我根本不会动一{子的奢侈的菜。其实内心也知道那是费Q但是又有哪个h不喜Ƣ用q费来购买自己面子的实惠呢? 
在这个社会,有钱的比没钱的说话更有底气,富有的比贫穷的更能得到别人的重Q高高在上大都是有钱人,C会底层的都是困R倒的。毕竟现在是商品市场的社会,l济cd军_了钱是多么重要,钱变成了自尊Q面子的代名词。我们每天都zd赚钱买面子的日子里。在我们奢侈的去花大W钱买所谓的面子的时候,我们是否会想h那么一hQ还挣扎在温q上呢Q?nbsp;
月薪不如别h高感觉没面子Q到现在q没有百来^方的房子感觉没面子,工作了几q还是普通职员也觉得没面子,看到别h的老婆比自q漂亮也会觉得颜面失Q甚至会因ؓ别h的衣服比自己的名牌也会汗颜。我们活在一个面子至上的世界Q那点卑微的自尊心L遮掩着自己脆弱的颜面。回首已逝去的岁月,才发现其实活的ƈ不快乐,是因的钱太少了,C赯够的面子Q还是赚的钱买来的面子,遮住了自q人性尊严? 
金钱Q生存,面子Q自;在h生的天^上,到底孰重孰轻Q! 
q前Q我懒洋z的{待着春节的到来,想着是否该回安父母q年。在我犹豫了又犹豫的时候,我发现离q年q不?0天了Q我惛_司是非要靠到q前才肯攑ց的,想着又要买全L飞机,便在心里开始狠狠的惻I明年一定不再磨y,提前俩月买票Q估计就能买4折的飞机回M?nbsp;
在我敷衍着q前最后几天的班,想着如何找个借口提前请假回家的那几天Q我一直没看到隔壁的小夫妻。我以ؓ他们早就回家q年M?nbsp;
可是在一天半夜,女的敲开了我的门。我睁开惺_的眼睛,含糊的问着Q有事么Q女的显得很不好意思,_对不P打扰你了Q我惌您帮个忙Q听说民工能|上订票Q你能不能帮忙看看?我答应着Q让她进了门Q我打开电脑Q开始帮忙给她订火R。可惜的是,|上订票是要民工单位团体订票Q她和她老公的单位都没有人给他们订票Q他们个人又没资格网上订。她看了看规定,很郁LC。我qp糊的竟然忘记说句安慰她的话?nbsp;
W二天,我心里一直记得这件事Q总觉得该做点什么。我从新M看到可电话订,便匆匆记下了LQ准备给他们个惊喜?nbsp;
下班旉q没刎ͼ我就急忙赶回MQ我回去的时候,女h在家Q我好奇她ؓ何没M班,但是我只儡说电话订的事,没来得及问。男Z在家Q我iQ叨叨的跟女h说着电话LQ我q掏q手机让她赶紧打电话订?nbsp;
女h苦笑了一下,没接我的手机。眼里含着泪,哽咽着Ҏ_我就是因为打电话订票Q被老板看到开除了。说着便苦hQ我q个月半个月的工资也没给Q说我是q反规定了,不罚钱就是宽大处理了?nbsp;
原来Q女Z听h_可以电话订票Q从一大早h去IC电话亭打电话Q可是L不进去,在中午吃饭旉Q偷h出去打电话订,可是打通了p已售完。一q一个星期都是如此,女h实在没办法,只好在早上店里没客h的时候,用店门口那个公用电话l箋打电话,8点半打通了Q女人高兴的不得了,以ؓq次l于可以订到了Q结果却说票已售完。票没订C_打电话却被老板正y看到了,说她上班旉做私事,把她炒了。无论女人怎么苦苦哀求,q是惨遭开除?nbsp;
我一边安慰女人:反正要过q了Q也要赶着回家q年呢,不干了也好,明年回来找个更好的工作。一边说Q要不再用我手机打打试试Q说不定能订到票呢?nbsp;
女h摇着_不可能的Q我老乡电话打了十几天了Q也没订刎ͼq早上八点一开通服务,你第一个打q去Q也订不到票Q因个列ơ的火Rq年很紧张,不可能正当途径买到?nbsp;
我以前只知道q年买火车票难,可是没想到这么难。我问Q去火R站排队买不行么? 不是听说那里很多贩子么Q实在买不到׃黄牛吧?nbsp;
女h沉思半响,_我老公已经在火车站排队排了半个月了Q还没买到票呢。他白天请假L队买不到Q晚上就通宵不睡觉在那里排队乎ͼq是C到。票贩子天天看到我老公Q主动找我老公说了好几ơ,说他们有,保证真的Q可是手l费太贵了,我们不舍得阿Q?nbsp;
我说Q多手l费QM能比火Rhq贵吧!女h咧嘴W了Q那W有点勉强:我们回去Q坐Q票h200多,可是手箋费却?00Q你说两张票q票钱加手箋费就?000多,我们一个月的钱啊。这不是喝我们血么?1000块钱Q在我们老家Q是一q的收入啊,我们怎么能舍得呢Q?nbsp;
听着她的话,我无语了。我H然感到很自卑,感觉自己竟然是那么浅薄,那么无知?nbsp;
Z两张回家的火车票Q工作丢了,俩h日日夜夜L队买,拿着生活费去打那个比镉K还늚电话Q半个月下来Q得到的l果竟然是:已售完?nbsp;
那么多火车票d里了Q?Z么天天排队买都说没了Q票贩子却又喊着Q去M地方都有,手箋?00元呢Q?nbsp;
到底Q票都到了何人的手中Q?又是怎样Cq些人的手中的呢Q而那天h手箋费的暴利到底在养zȝ谁? 
我气冲冲的拨通了火R站的服务电话Q我刚说完Rơ,p告知Q春节前本次车票已全部售完,误{乘其他Rơ?nbsp;
我有些失望,试图劝说他们能不能{车回去?或者坐镉K汽车?女h惨E的笑了笑Q大姐你别操心了Q没法{车,能经q我们那个小地方的,p一个Rơ,到别的地方倒RQ也不好买票Q还是回不去Q汽车太贵了Q都快赶上飞机票价了Q不如走回去呢。说着q半安慰我似的开着q个黑色的玩W?nbsp;
看着她紧锁的眉头Q想着也许q会她老公q在火R站满怀着那么点希望排着队,{着老天爷大发慈Ԍl他们两张回家的,而我却还在犹豫着q年回不回去陪父母,想着回趟家真累,来回路上够折腾h的?/div>
我开始觉得自q卑鄙Q甚xؓ。他们也许可以不回去Q但是却非要坚持回去Q是Z双方q迈苍老的父母Q还是ؓ了回d担家里的忧愁Q无论怎样Qؓ了回去,却要付出q般代hQ值得么?也许很多Z以ؓӞ可是在亲情的天^上,q个砝码却很重?nbsp;
一张过q回家的火R,那么一张薄薄的U片Q不知道要费多少心,伤多神Q排多少个夜晚的队,付出多大的代h能得刎ͼ那里面到底藏着多少回家人的血汗,又写着多少回家人无奈的眼泪Q! 
我的飞机已l订好了Q全P 
每到q年Q航I公叔R开始腰杆子v来,打死不打折,可是飞机却依然紧俏Q中国h都太恋家Q过q花在回家\上的路费Q也是Ҏ动经增长做点A献了?/div>
“铁老大”Q仍然牛气烘烘的一边说着加开临时列RQ又一Ҏ歉的告诉你:已售完?nbsp;
隔比夫妻在轮班排队买的情况下,q是没得到回家的那一张通行证?/div>
他们天天在火车站{着Q?/div>
盼着哪天能有个好心h来退,可是q种奢望很ؓ茫,他们g也感觉到无力回天Q除了等待奇q,只能盘算着是不是真的要走回家?nbsp;
在此期间Q我一直不停的在网l上搜烦着关于q辆车次的消息。每ơ看到有{让,我都急不可待的去联系Q可是都是票贩子在打q告Q手l费比票价都高,而且行情看涨Q越来越高?nbsp;
我想帮他们出手箋费,只要他们出票P可是他们L不答应,说是原则问题Q就是走回去也不买高L。他们很正式的跟我说Q我们是中国公民Qؓ什么坐车要买高L呢?我们又不比别Z一{!N我们没权利去享受一张正当hq么Q都M高h,以后q的只有高LQ没有正当的火R了Q那些暴利养zȝ都不是好人,我们这样养他们Q他们越贪婪?nbsp;
听了他们的话Q我沉默了?nbsp;
我突然害怕vq个有点病态的C会来,我怕那致命的细菌会感染我! 
我感到那么无能ؓ力的难过Q我很想Z们做点什么,可是我却到头来什么都没能Z们做Q甚臛_是两张火车票Q我都不能帮他们?nbsp;
我最l没逃脱Q找关系Q走后门的那些俗套。我托了朋友Q朋友又托了朋友的一个在火R站工作的朋友Q费了九牛二虎之力才弄到两张񔼜。吃饭,应酬Q说着冠冕堂皇的感谢的话,最后,l于在每张票多付?00元的情况下我才有Z把票握在手里?nbsp;
酒饭饱后,那h打着酒嗝q在l箋不停的说着Q票是多么难乎ͼ别h多出300块手l费他都没给Q因为看在老朋友面子上他就当免费帮朋友的忙?nbsp;
我只好用感激的眼望着他,说着千恩万谢的话Q用一U谢谢你的大恩大L态度来应承他的恩惠。他满的笑着Q我也在心里满意的想着Q有了票Q他们终于可以回家过q了?nbsp;
当我把两张R放在他们面前的时候,他们呆住了,用一U难以置信的崇敬的眼望着我,良久都不说话。我W着Q什么话也没说?nbsp;
女hH然问道Q你是不是买来的高h?我摇摇头Q那是哪里来的Q我W了。我没说实话Q我不知道ؓ什么,在他们面前有些虚伪的实话是不需要说出来的。我告诉他们。票是我的一个同事的朋友买的Q原本要回家q年Q可是公司突然说有事Q回不去了,只好转让。结果正巧让我知道了Q我p紧买q来l你们送过来了。我怕他们说q事,赶紧补充Q票人家没多要一分钱Q要不去火R站退还要扣手箋费呢Q你们要了,正好解决了h家后之忧,人家q省׃呢?nbsp;
他们高兴的说不出话来Q一Ҏ接q去Q反复的看着Q抚摸着Q一Ҏq我。我说什么也不要。他们便怔住了脸Q说我不要钱Q他们就不要。我没办法只好收下了钱?nbsp;
他们走的日子比我早,我去车站送了他们。我偷偷C些广州特产和水果Q在他们进ȝ时候,把东西塞C他们其中的一个大~织袋里?nbsp;
看着他们拎着大包包Q里面装满的或许不是值钱的东西,但是怸z溢着的幸的Ƣ笑里,让h感觉那一切都很珍c?nbsp;
他们不时的回头看看我Q用拎着包的手用力的跟我挥手Q咧嘴笑着Q眼里的光彩很温暖Q我内心涌v一U莫名的感动。竟然有惛_的冲动,我忍住了Q也W着朝他们挥手?nbsp;
他们的n影渐渐消失在人群中,我没赎ͼ站在那里Q我g听到了火车的鸣笛壎ͼ那一定是他们要回家的那列火RQ那火R里一定有他们要回家的两个座位?nbsp;
归途很累,很遥q,可是回家的\却很温暖?nbsp;
我第一ơ觉得过春节不那么无聊,我第一ơ觉得来回的路上不那么劳累。整个年Q我q的很快乐,当我再次回到q州的时候,他们夫妻q没回来?nbsp;
我想Q他们一定是C到火车票Q要{过了高峰期才能q回。我安静的等在那里,看着那扇我隔壁的门,希望Q在偶尔一天,能再看到那熟悉的w媄?nbsp;
他们来的真的很迟Q元宵节q后一个星期才姗姗来迟。我微笑着q接他们Q端L买的汤圆Q跟他们分n我所有的快乐?nbsp;
女h跟男人商量着Q想推个木车卖Ҏ果或者小吃。问我的意见Q我说好。与其给别h打工那么累,q不自由Q倒真不如自己买点吃赚钱好些?nbsp;
于是夫妻俩,便买了个二手的小木RQ批发了点菠萝,西瓜Q在家练熟了削菠萝和西瓜的技术,便开始上街卖起了西瓜菠萝Q一块钱一块。白天女Z个h去,晚上Q夫M一起出门,q州q么乱,丈夫不放心,再晚都陪着老婆卖完了,再回来。第二天一早,又去上班?nbsp;
看着他们恩爱的每天出q,我由L慕却又高兴着Q我惻Iq苦,两个人分担开来,也是甜的Q如果将来能有这样一个hҎ_无论痛苦NQ我都会在你w边。我听了一定会哭着嫁给他,虽然我不知道要等q样的一个h{多久,但是L有了憧憬Qh便分外的有了希望h?nbsp;
有时Q很晚了Q还没把削好的卖完,他们拿回来Q分l我吃。我每吃一块就会笑着对他们说Q我又吃掉你们一块钱?nbsp;
其实我在心里明白Q他们完全可以不用送给我吃Q他们生zL据,完全可以自己吃掉Q剩下的又不多,水果吃了又对w体好,以前qx都不舍得买。可是他们仍然愿意分l我Q因为,在他们的内心里,他们认ؓ是好的东西,都愿意跟别h分n?nbsp;
记得以前Q在学习和生zMQ我们经常能接触刎ͼ无私Q奉献,善良q些好的字|可是不知道什么时候我们的周围发生了变化,在我们的字典里再也看不到那些丽的东西,自私自利Q冷漠,代替了那些小的感动Q成了我们的L?/div>
当我Q又一ơ体会到q种久违了的感觉的时候,我欣喜若狂,像个孩子捡拾C珍贵的宝贝,我想我一定好好珍藏v来,在哪天忘记的时候拿出来看看Q提醒自己?nbsp;
那天Q我下午回来Q看到女人在Ӟ很奇怪她没出d东西。就半开玩笑的说Q老板Q该开工了Q怎么q没赎ͼ女h看到我,先是灿然的笑了笑Q说Q今天一天都没出去,做买卖的家什没了Q?nbsp;
没了Q卖了?丢了Q我q炮竹的问道。她_昨晚Q被城市理者抓CQ都l砸烂了Q?nbsp;
砸烂了?凭啥Q我气v汹的问。她无奈的摇__说是影响市容市貌Q还影响环境卫生Q他们没别的事,是专门抓小商贩的! 
我惊呆了Q抓商贩的Q我H然一阉|哀Q就有一百个理由抓你们,也用不着砸打抢吧Q! 跟别明白不就行了么?用的着q么土匪行ؓ么? 
女h听了我的话,竟然W了Q说Q我心疼那菠萝西瓜Q好好的Q削好的被扔了,没削好的也被砸烂了扔的满地是Q我倒糊涂了Q是我们推小车卖西瓜脏呢Q还是把西瓜砸烂在地上,弄的一地西瓜渣滓脏呢?Q?nbsp;
听着女h的疑问,我竟然不知道怎么回答Q?nbsp;
是啊Q到底是谁更肮脏Q是那卖西瓜的小贩?q是那砸西瓜摊的城市理者? 
原本q干净净的一切,I竟谁是|魁RQ究竟是谁弄脏了我们的世界?Q?/div>
35?nbsp;
一辆花了一个月生活费买来的破旧的小木RQ一堆花了半个月生活费买来的西瓜菠萝Q竟然在光天化日之下Q被一同栯你都叫做人的家伙怺个稀巴烂QQ׃苦苦哀求,ȝ你好话说,也Q׃眼泪滂沱Q?nbsp;
无情的打砸把你要生存的一点点希望l砸,h的言语将你最后的自尊践踏的体无完肤,吼来喝去的态度对你的乞求熟视无睹,pP在一个h人^{的C会里,你被在了脚底下! 
我能惌的出Q女人当时的那种心碎Q那U绝望,那种甚至是可怜的严被践t的伤悲。可是,q我再怎么ȝ解,我却永远不能替代那种伤心Ʋ绝的体会。也许,q就是hcȝ悲哀Q一U你无论如何不能逾越Q不能跨q的鸿沟Q你只能M解,却不能去感受?nbsp;
我无力的想着所发生的一切,却又无能为力的苦W。我竟然想ؓ她讨个说话的能力都没有,我感C自己的有限,感到了自己d接受了别人的恩赐后却不能报答的那U难受,那种矛盾的苦楚?nbsp;
我很惻I再出钱帮他们买辆RQ可是女无论如何不敢d西瓜菠萝了,不是怕城市管理者,是受不了那种zȝ生的好东西被p蹋的场面,是见不得那种一片狼藉的情景?/div>
我尽量出些能赚钱的主意,女h说老乡帮她找了个发传单的兼职,不篏Q她惛_做着。我看着Ҏ些消瘦的脸庞Q心很疼Q?nbsp;
想着q些天发生的事,我越惌上火Q恨不得把这个世界洗刷一遍,可是只我一个h的眼泪不够,甚至全世界的人的眼泪也不够! 
我竟然气的牙Dv来,半边脔R肿了Q疼的我食不下咽QE子也因ؓ牙疼上火Q流鼻血。我q脆请了假,d院看牙?nbsp;
几天折腾下来Q吃药,打针不管用,后来重新查,又说牙疼发炎引v了这里毛病,那里毛病Q然后又开始治疗,又一通打针,吃药Q检查,再检查,l果q是没好Q牙ql疼着Q我l箋郁闷着?nbsp;
最后,ȝ觉得l我拔牙补牙Q会更有效,又折腾了几天Qȝ开始{好。这一个牙|׃6000多块。我才知道,原来嘴巴里长的是28颗金豆子Q贵着呢! 
可是看到新闻上那些天价医疗费Q我又欣CQ别人看个病都几百万呢,我才6000够便宜的了! 
我突然感慨v来,也许有的付得起天价医疗费Q可是我付不P也许我能付得?000块钱的治疗牙疼的钱,可是有的人就付不P和还有更多的人比我IPq有更多的h看不LQ?/div>
看病贵,看病难,q已不是什么新鲜话题,可是q个Ҏ蒂固的问题却始终没得到解冻I我想到我们不q的d印度Q它虽然q不太富有,虽然也h口众多,但是ȝ制度却还完善Q全民医疗免贏V我不由的M慕v来,不由的想着哪天我们也能享受到此{待遇! 
如果能有那么一天,我想Q报道上再也不会有某某女孩得白血病家人們֮荡{wȝQ也不会有,Q?/div>
生病是谁的错Q?w体的错么?Q?没钱ȝ是谁的错Q家人的错么Q!ȝ费用居高不下谁的错?ȝ的错么?Q?nbsp;
也许谁都错了Q也许谁都没错!
那天Q我捂着半边脸,忍着隐隐作痛的牙Q心里恨恨的惻Iq?000块钱是白花了?nbsp;
女h自从摊子被砸了后Q便D发传单,可是zdq不是天天都有,所以也是有一天没一天的在家歇着。这天她看到我蹲在门口,q头不说话Q吓坏了?nbsp;
Ҏ了拍我的肩膀Q我抬v_Ҏ看到我的脸肿了。她心疼的问Q怎么了?q是Q我嘴里含糊不清的嘟囔着Q倒霉啊,牙疼Q快要老命了?nbsp;
Ҏ忙问:看医生没Q要不要紧?我从疼痛的牙~里挤出单的话:看了Q没用, 白花6000块,现在是牙也疼Q心也疼Q?nbsp;
女h让我张开嘴看了看Q自语道Q肿的很厉害Q要从根里治Q你{着。说完就一溜烟跑回家?nbsp;
不大会,女h端来一黑乎乎的汤水要我喝Q我看着脏兮兮的Q就pv了眉头。女人硬逼着我喝下去。就q样Q连l好几天Q女人都让我喝那U苦苦的黑汤水。结果竟然消肿了Q慢慢的牙也不怎么g。我想一定是那黑汤水起了作用?nbsp;
原来Q女人怕在异地他乡生水土不服或者有个头D热的Q就从老家带了些中药过来,正好她老公有牙疼的毛病Q就带了些这斚w的中药。看到我疼的厉害Q她把那些药都熬了汤给我喝Q没惛_吃了几付Q就好{了?nbsp;
我想着Q她把药都熬l我喝了Q万一哪天她老公牙疼Q可怎么办?女h竟然W笑Q没事,他咬咬牙挺q去了。我知道牙疼的滋呻I所以心里还是后悔吃了h家的药?nbsp;
我问q药很贵吧?女hW了Q不值钱的,都是些花啊草啊的Q家乡的׃多的是,又不是什么高U技生出来的化?*Q只几块׃副! 
我开玩笑的说Q几块钱Q那我那6000块钱不是喂狗了?女hW了Q我们那里穷Qh病去不v医院Q只能找个老中d点中药熬熬喝Q?000块看个牙|是村长一辈子也没q个气Q那要多h家一q的收入呢?nbsp;
我听着女h的话Q开始心凉凉的?000块,q数字在我心里边格外沉重?nbsp;
女hH然问了一句:在这里的医院生孩子要多少钱?我沉吟了一下说Q估计要个一万块吧!女h吓了一跻I一万块Q那要是生完了就赎ͼ不住院呢Q我想了惻I也要好几千吧Q女人愣了:马上要生了进医院Q让ȝ帮忙接生出来Q我立马ChQ也要上万么Q我不用他们啥东西,借他们点旉Q搭把手p了?nbsp;
我没明白女h话的意思,也没往深处惻I只是担心着那些月收入不_元的民工的老婆Q如果来到这大都市,不小心怀孕了Q来不及回乡下老家生Q,他们要拿什么去q这大城市医院的大门Q^安的把孩子生下来呢?Q?nbsp;
生存是h共同的权利,如果q生存都被剥夺,或者说为生存要付出惨痛的血的代Pq样的生存还能配的上人类赋予它的最初的意义么? 
一个生命,一颗牙齿,一句问话,告诉我:生存= 艰辛Q?nbsp;
看着自己滚圆的大腿,一天肥一圈的腰枝Q近D动的庞大w体Q我再也不能忍受**渐臃肿的w体。我军_要减肥! 
减肥Q对于一个有些懒惰的人来_是很困难的事。克服这个问题,需要一个支撑点Q我惛_找一个h监督Q或者找一个h陪我减肥来调动我的积极性?nbsp;
我脑里y出的第一个hQ就是隔壁现在不用忙着上班的女人。我毫不犹U的告诉了Ҏ的想法,Ҏq疑q应了?nbsp;
从此Q她每天早晚都陪我跑步,陪我做运动。每ơ我都自嘲的跟她开玩笑Q我真残忍,找你q么一个皮包骨头的瘦子跟我一起减肥!ҎL安慰我:ȝw体有益健康是好事,不管胖瘦q动都有好处?nbsp;
我心安理得的每天让她陪着我,看着她越来越瘦,我又不免内疚Q可是每ơ她的笑脸却又把我的那点愧疚吹的荡然无存。我只好L借口减肥Q把好吃的,好喝的都l她Q她不要Q我q气,Ҏ办法只好收下Q眼里却L满是不好意思的感激和受之有愧。于是她用更拼命的陪我运动来偿还我对她的那点小的恩惠?nbsp;
我做梦也没想刎ͼ愚h节后的第二天Q她来告诉我Q她要回老家了!我以为她在补上愚没给我开q火玩笑的机会,可是我错了,Ҏ真的要回Ӟ因ؓҎ孕五六个月了Q?nbsp;
Ҏ来是打算在这边生的,后来听我说到生孩子估计都要上万的Q就下决心提前回老家Q在老家待。怕再晚,挺着临盆的大肚子坐火车不方便Q所以才军_现在p?nbsp;
我惊呆了Q不知道该说什么;我满脑子现的都是,Ҏ孕了Q我q让奚w我做剧烈q动的镜_我感到自q可恨Q一个怀孕五六个月的女hQ挺着隆v的肚子天天陪在我w边Q我竟然视而不见,是我自私到只考虑自己Q还是我h到忘C他hLQ?nbsp;
想着Ҏ天笑靥如花,从来没表现出半点怨言和不高兴Q我W一ơ感到自q可恶。我开始鄙视自己,憎恨自己那种习惯于接受别Z出的不良嗜好?nbsp;
看上去,Ҏ瘦了Q于是我更痛恨v自己来。也许她每天没命的跟我锻|回家却吃不饱Q第二天却要半饿着肚子l箋陪我q动Q肚子里q有一个消耗着营养的胎儿,q是怎样的一份艰辛的心情Q这是怎样的一U残忍的场面Q?nbsp;
当我大吃大喝Q山珍v味的把自己喂L一个十的胖子Q却要求一个每天吃不饱Q饿着肚皮的孕妇跟我一赯动减肥?Q这是人性的自私Q这是我的自私到极点的本质的最有力说明?nbsp;
我不得不承认Q自始至l,我ƈ没高到哪里去,我还是那个第一ơ见他们的时候的那个龌龊的hQ尽极力想用帮助别人来掩盖自己的哪些自U的本性,可是q是p|了,本质像个烙印Q已l刻q了我的灵魂深处Q?nbsp;
面对q着q样一个残L事实Q我开始无地自容,我突然感觉我Ҏ配不上做他们的朋友,管我曾那么的想Q但是我不够|也没资格d下那份上帝面前的契约Q我只是个自U的懦夫Q我没权利要求灵对我有M丝毫的原谅! 
我被自己重重的摔倒在CQ被人性的刀子割的体无完肤。那感觉很痛Q很LQ?nbsp;
我的所有的思想Q他们ƈ没有M的觉察,只是用一U悲伤的情A跟我道别?nbsp;
女h是一个h走的Qؓ了省钱,女hL没让男h送?nbsp;
我不知道一个挺着肚子的女人,拎着大包包好几个,在熙熙攘攘的人群中是怎样挤上了火车,又是怎样的一个h孤孤单单的回C家。但是,我知道,如果是我Q我做不刎ͼ不是没勇气,是没那个能力Q?nbsp;
没几天,男h搬CQ因Z觉得一个h住个几百块的房子不划,赚的钱都搭在住上了,Z省钱Q他选择了免费的Q和一民工一起住在一个桥下搭的窝里。男Z走的时候,我给了他一个信,信封里有一我写给他老婆的信和一张银行卡。我叮嘱他,无论如何Q回家的时候记得把信带l他老婆。他点头{应着Q很坚定的说Q保证完成Q务?nbsp;
从此我隔壁的储藏室空出来了,房东说我可以放我那张旧沙发了Q可是我没放Q只是在每次l过的时候,都会停下来,默默的盯着戉K看很久,很久?nbsp;
从那以后Q我再也没见q他们夫M人。我不知道男在不在他说的桥下的窝里住着Q也不知道他有没有时间回老家一顺便把我的那封信交l他老婆Q更不知道在那个我连名字都叫不出来的他们的老家Q他的老婆是否安好?nbsp;
只是Q从他们d后,我开始喜Ƣ穿q鞋,因ؓ那感觉很t实?nbsp;
t实刎ͼ我想着明天开始一个h学会q心灵搬家?/div>


陈晓 2011-09-11 19:04 发表评论
]]>spy++和游戏修改器http://www.shnenglu.com/cw290746987/archive/2011/08/09/152865.html陈晓陈晓Tue, 09 Aug 2011 07:06:00 GMThttp://www.shnenglu.com/cw290746987/archive/2011/08/09/152865.htmlhttp://www.shnenglu.com/cw290746987/comments/152865.htmlhttp://www.shnenglu.com/cw290746987/archive/2011/08/09/152865.html#Feedback8http://www.shnenglu.com/cw290746987/comments/commentRss/152865.htmlhttp://www.shnenglu.com/cw290746987/services/trackbacks/152865.htmlq几天做了两个东西,spy++ 和游戏修改器?spy++ 是模仿 vs的那个工具spy++ 。游戏修改器Q就是暴力搜索内存,扑ֈ我们兛_的数据,然后q行更改?br />Mq些东西做过之后感觉是都不难,但是在做的时候多会感觉点吃力。唉Q功力不够啊。l修?#8230;…
闲下来无事,记录下它们的q程吧?br />spy++ 分析Q用vs2005做的——Q?br />spy++ 需要拖动一个小图标 然后Ud到别的窗口上Q本H口也可以)Q然后画出窗口的矩ŞQ得到窗口的一些信息?br />拖动的这个小图标Q是一个picture conctrl控g Q属性的typeҎicon 也就是加载一个icon图标Q在属性imag里把图标选上?br />l这个控件添加一个类Q在q个c里做这个控件的 图标拖动操作,?lbuttondown的时?把鼠标加载成 图标,把picture里的icon换成I心的?br />当鼠标抬L时候把鼠标换回来原先的光标Q然后再把picture里的icon换成有小图标的那个图标?br />q里要主?要把鼠标设成全局有效Q要不然的话Q鼠标位|出了这个picture的范围就失效了。函数是 SetCaptureQ)
然后再lbuttonup的时候记?要释放。ReleaseCaptureQ)Q?br />           是q几个图标。吼吹{?br />把这个小图标托到 H口上的时候怎么在窗口上d矩Ş呢? 
当然是先得到q个矩Ş了。我要先得到q个H口的句柄,我们才能得到windowrect 然后才能甅R?br />所以各 下一步就是WindowFromPointQPointQ传一个鼠标点 然后得到q个点的window的hWnd?哈,很强大的函数啊?br />得到H口句柄好办了。GetWindowRect得到矩Ş区域啊,然后用windowdc 画,用windowdc的原因就是,我们要在整个桌面上都能画?br />q里画这个矩形有个技巧,我们要画出来Q但是当我们不需要这个矩形的时候我们还要给q个颜色d原来的背景色。这里算是整个程序的一个难点,考验d工夫?br />dc讑֤中默认选入的是一个黑色画W,一个白色画P也就是说正常我们ȝ形的话会d黑边白底得矩形,现在我们要透明的底Q然后画的黑边还要可d原先的背景色。有一个函数通过dc调用  dc.SetROP2(R2_NOTXORPEN);参数传这个同或运,q个函数的意思就是,拿你讑֤中的ȝd 去跟背景色运,同或q算?br />比如背景有个颜色?0010100011   你的d颜色是白?也就?11111111111Q比如就q么多位Q?nbsp; 白色因ؓ?55,255,255所以都?  
然后q行同或q算得到的是什么??0010100011Q同或,同则1Q不同则0Q!也就?q是背景Ԍq就做到了画刷透明。然后画W是黑色Q?000000000
跟背景色同或q算的到得是01101011100 q个。然后这个就是真正画到屏q上昄出来的颜艌Ӏ怎么在把q个颜色L呢?大家在用q个黑色的画W画一下,在同或运看看结果是什么?10010100011 看看是不是又变回M?吼吼。等会下面脓代码dq里的?br />q个d完事了。而且H口句柄我们也通过windowfrompoint得到了。有了窗口句柄我们能得到很多东西了?br />比如说窗口类名GetClassName
H口标题GetWindowText
H口矩ŞGetWindowRect
H口id{信息GetWindowLong
q程id   GetWindowThreadProcessId
q程路径 OpenProcessQ)   GetModuleFileNameExQ)Q?br />{?br />q可以向H口中发消息 sendmessageQ这个比较好玩,可以拿你的spy++d闭别人的H口?br />然后把他讄到窗口上可以了?br />代码贴一段?br />
void CMyPic::OnTimer(UINT_PTR nIDEvent)
{
    POINT p;
    ::GetCursorPos(
&p);
    hWnd
=::WindowFromPoint(p);
    CRect rect;
    ::GetWindowRect(hWnd,
&rect);
    CWindowDC dc(NULL);
    CPen redpen(PS_SOLID,
3,RGB(255,0,0));
    dc.SelectObject(
&redpen);
    dc.SetROP2(R2_NOTXORPEN);
    dc.Rectangle(rect);
    
//昄回去 向没画一?/span>
    Sleep(300);
    dc.Rectangle(rect);
    ReleaseDC(
&dc);
    CStatic::OnTimer(nIDEvent);
}

q个d在timer里画Q能做到 闪动的巨型。(我选的U色ȝQ你可以把红色跟背景同或算Q跟黑色是一LQ在Mơ就能画回来背景Ԍ
下面的代码是 写我的spy++的第一늚代码

void CMyspyDlg::UpdataWindowNormal(HANDLE hWnd)
{
 CString str;
 int state=((CButton *)GetDlgItem(IDC_CHECK1))->GetCheck();
 //H口句柄
 if (state==BST_CHECKED)
 {
  str.Format(_T("%p"),hWnd);
 }
 else
 {
  str.Format(_T("%d"),hWnd);
 }
 m_TabCtrl.m_dlg[0].GetDlgItem(IDC_EDIT_HANDLE)->SetWindowText(str);
 //H口cd
 TCHAR tempTC[50];
 GetClassName((HWND)hWnd,tempTC,49);
 m_TabCtrl.m_dlg[0].GetDlgItem(IDC_EDIT_CLASSNAME)->SetWindowText(tempTC);
 //H口标题
 ZeroMemory(tempTC,100);
 ::GetWindowText((HWND)hWnd,tempTC,49);
 if (*tempTC==_T('\0'))
 {
  m_TabCtrl.m_dlg[0].GetDlgItem(IDC_EDIT_TITLE)->SetWindowText(_T("?));
 }
 else
 {
  m_TabCtrl.m_dlg[0].GetDlgItem(IDC_EDIT_TITLE)->SetWindowText(tempTC);
 }
 //H口矩Ş
 CRect rect;
 ::GetWindowRect((HWND)hWnd,&rect);
 str.Empty();
 if (state==BST_CHECKED)
 {
  str.Format(_T("x=%x,y=%x,width=%x,hight=%x"),rect.left,rect.top,rect.Width(),rect.Height());
 }
 else
 {
  str.Format(_T("x=%d,y=%d,width=%d,hight=%d"),rect.left,rect.top,rect.Width(),rect.Height());
 }
 m_TabCtrl.m_dlg[0].GetDlgItem(IDC_EDIT_WINRECT)->SetWindowText(str);
 //H口id
 str.Empty();
 LONG l=::GetWindowLong((HWND)hWnd,GWL_ID);
 str.Format(_T("%ld"),l);
 m_TabCtrl.m_dlg[0].GetDlgItem(IDC_EDIT_WINID)->SetWindowText(str);
 //q程id
 DWORD dword;
 ::GetWindowThreadProcessId((HWND)hWnd,&dword);
 str.Empty();
 if (state==BST_CHECKED)
 { 
  str.Format(_T("%p"),dword);
 }
 else
 {
  str.Format(_T("%d"),dword);
 }
 m_TabCtrl.m_dlg[0].GetDlgItem(IDC_EDIT_PROCESSID)->SetWindowText(str);
 //E序路径
 HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,dword);
 TCHAR src[200];
 GetModuleFileNameEx(hProcess,NULL,src,199);
  m_TabCtrl.m_dlg[0].GetDlgItem(IDC_EDIT_PROSRC)->SetWindowText(src);
}

======================================================================
效果?br />
======================================================================

好了 下面记录下游戏修改器
其实我用的方法很W的Q但是比较简单。改成功了植物大战僵怸的太阛_{?br />=======================================================================
效果?br />
=======================================================================
q个游戏修改 是d存,D行比较,然后扑ֈ一些跟你输入的值相同的地址Q记录在链表中,然后让这个值变化,在对链表q行搜烦
如果链表中的地址中的g变化了,正确的地址在q链表里Ql变化|之后最后地址定下来为止Q地址定下来之后可以修改了?br />其中用到得函?先是 快照Q(我在前面做Q务管理器中写到过Q?得到q程id q程名等?br />然后用openprocess打开方式用要可读Q可写,或者获得所有权PROCESS_ALL_ACCESS。得到进E的句柄?br />然后通过q程的句柄读q程中的数据ReadProcessMemory因ؓ虚拟内存共有4gb  ?gb是系l用Q还有前多少KQ不同系l不一P也系l用。所以我们只搜烦前两gb Q但是前面那些系l的我们忽略了Q毕竟是数Q不在乎多读那点了?br />ReadProcessMemoryq个函数W一个参数是q程handleQ第二个参数 是基址Q即从那个位|开始读Q是一个地址Q,W三个参数是d的buff W四个是ȝ大小?׃内存|4kb 我们Zȝ速度?所以我们每ơ就?kb?dq?kb 攑օbuff?然后 拿我们要扄数值比如是100Q(我们假定我们的数?字节Q,?kb?字节1字节的向后走Q两字节两字节的比较 如果{于100则加入链?br />DWORD dOneGB=1024*1024*1024;//1gb的地址
 DWORD dBase=0;//基址?
 DWORD dOnePage=4*1024;//一个内存页4kb
 BYTE buffer[4*1024];//装一个内存也
 WORD value;
 CString str;
 int pos=0;
 POSITION listpos;
//得到我们H口上输入的?value
 GetDlgItem(IDC_EDIT_INPUT)->GetWindowText(str);
 value=_wtoi(str);
 for (dBase;dBase<dOneGB*2;dBase+=dOnePage)//遍历2gb每次 加一?nbsp; 4kb
 {
  if(ReadProcessMemory(hProcess,(LPCVOID)dBase,buffer,4*1024,NULL))//M个页Q因个读取是不一定成功的所以加ifQ有的内存系l不让你读)
  { 
//q行比较 如果相同加入链表CList m_DataQ?br />   for(DWORD b=0;b<dOnePage-1;b++)
   {
    WORD tempword=*((WORD *)(buffer+b));
    if (tempword==value)
    {
     if (pos==0)//如果是头l点?加在头上Q之后就加在后边
     {
      listpos = m_Data.AddHead(dBase+b);
      pos++;
     }
     else
     {
      listpos = m_Data.InsertAfter(listpos,dBase+b);
     }
    }
   }
  }
 }

q样q个W一ơ搜索就完成了。搜Z一?{于100的?的地址Q放入了链表
下次是   改变100?50Q然后再链表中搜索等?50的?br />int dataCount=m_Data.GetCount();
 pp=m_Data.GetHeadPosition();
  for (int i=0;i<dataCount;i++)
  {
   DWORD tempvalue=m_Data.GetNext(pp);
//Ҏ基址d两个字节的数Q然后跟value比较
   ReadProcessMemory(hProcess,(LPCVOID)tempvalue,&buff,2,NULL);
   if(buff==value)
   {
   if (head)
   {
    li.AddHead(tempvalue);
    head=FALSE;
   }
   else
   {
    li.AddTail(tempvalue);
   }
   }
  }
哈哈Q然后最后就搜到了那个值得地址Q,然后Ҏq个地址改变 其中的值就行了

WriteProcessMemory(hProcess,(LPVOID)address,&newValue,2,NULL);
思\倒是很简单,写的时候M出错误,或是内存错误或是中断的,要耐心调调?br />Z植物大战讲师的无限阳光,吼吼。go


 


陈晓 2011-08-09 15:06 发表评论
]]>
q程通信——邮槽和命名道http://www.shnenglu.com/cw290746987/archive/2011/08/01/152239.html陈晓陈晓Mon, 01 Aug 2011 14:14:00 GMThttp://www.shnenglu.com/cw290746987/archive/2011/08/01/152239.htmlhttp://www.shnenglu.com/cw290746987/comments/152239.htmlhttp://www.shnenglu.com/cw290746987/archive/2011/08/01/152239.html#Feedback6http://www.shnenglu.com/cw290746987/comments/commentRss/152239.htmlhttp://www.shnenglu.com/cw290746987/services/trackbacks/152239.html今天记录下自己学的邮槽和命名道Q学习过E中遇到炚w题也拿出来分享下。哈  开?br />先说一下大体的概念奥?br />

邮槽定义

邮槽QMailslotQ也UCؓ邮g槽,是Windows 提供的进E间通信的手D,

其提供的是基于不可靠的,邮g槽只支持单向数据传输Q也是服务器只能接收数据,而客L只能发送数据,

何ؓ服务端?创徏邮槽的那一端就是服务端?br />q有需要提及的一ҎQ客L在用邮槽发送数据的时候只有当数据的长?< 425 字节Ӟ

才可以被q播l多个服务器Q如果消息的长度 > 425 字节的话Q那么在q种情Ş下,邮槽是不支持q播通信的?br />q是我看到的邮槽的简要说明吧?br />先说下邮槽的使用q程吧。然后再分析函数Q在贴代码。非常简单哦
服务端:                                        客户端:
首先创徏邮槽CreateMailslot               打开ҎCreateFile
d数据 ReadFile                           写入数据WriteFile
完事了,只有q四个函数。也很容易理解?客户端写入数?服务端读取数据?br />CreateMailslot(_T("\\\\.\\mailslot\\chenxiao"),0, MAILSLOT_WAIT_FOREVER,NULL);
W一个参数是个固定格?a href="file://\\.\\mailslot\\name">\\.\\mailslot\\name   点代表本机。mailslot是硬~码 不能变,name可以自己起个邮槽的名字?#8216;\’攑օ字符串中要用转义字符\
所以就写成?\\\\.\\mailslot\\chenxiao"
W二个参数To specify that the message can be of any size, set this value to zero. 讄?
W三个参Cؓ了下面的d操作应该{待的时?MAILSLOT_WAIT_FOREVER 传这个代表参C表永久等待?br />最后一个参数安全属?嘎嘎 null
ReadFile(hMailSlot,pData,sizeof(TCHAR)*80,&dByteRead,NULL);
q几个参数很单了。第一个参数就是创建邮槽返回来的句?W二个参C个[out]buffer用来接收从邮槽中d来的东东。第三个参数是d多少个字节?br />W四个参数基本没用,是一个[out]的LPDWord  很蛋疼只能DWORD dByteRead; 然后传个他的地址?br />因ؓmsdn上说了If lpOverlapped is NULL, lpNumberOfBytesRead cannot be NULLQ?br />lpoverlapped是我们的最后一个参敎ͼq个参数可以讄同步和异步,如果文g打开模式是FILE_FLAG_OVERLAPPEDq个的话Q我们这个就不可以是NULL
q个同步异步问题我在下面的命名管道中在说。这里就先过厅R这个参数设成NULL?br />客户端函?br />CreateFile(_T("\\\\.\\mailslot\\chenxiao"),GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL,NULL);
q几个参C很容易理解了。第一个参数要和创建邮槽的时候的参数一栗如果要q程通信的话可以?#8216;.’讄成服务器 L?或者在一个区域内q播‘*’
但是我用两个机器实验了,没有成功Q目前我只能用邮槽在本地一个机器上通信。。。尴。。有知道怎么在两个机器上通信的,要给我留a教教我哦?br />后几个参数根据参数名大家可以猜个差不多了,我就不说了。吼吹{?br />WriteFile(hMailSlot,str,sizeof(TCHAR)*80,&dByteWrite,NULL);q个函数 ?readfile差不?是向邮槽中写入数据用的?br />W二个参数是要写入的内容Q第三个是大(以字节ؓ单位Q?
好了q几个函数都说完了。脓上小代码Q就清晰了?/p>

//服务器端 我用的c++写的?/span>
#include <iostream>
#include 
<Windows.h>
#include 
<tchar.h>
using namespace std;


int main()
{
    HANDLE hMailSlot
=CreateMailslot(_T("\\\\.\\mailslot\\chenxiao"),0,
        MAILSLOT_WAIT_FOREVER,NULL);
     TCHAR pData[
80];
     ZeroMemory(pData,
sizeof(TCHAR)*80);
     DWORD dByteRead;
     
while(1)
   
{
         BOOL b
=ReadFile(hMailSlot,pData,sizeof(TCHAR)*80,&dByteRead,NULL);
          wprintf_s(_T(
"%s\n"),pData);
     }

    
    system(
"pause");
    
return 0;
}
//客户端我在mfc中写的?/span>
void CclientDlg::OnBnClickedButtonSend()
{
     TCHAR str[
80];
    ZeroMemory(str,
sizeof(TCHAR)*80);
     GetDlgItem(IDC_EDIT_INPUT)
->GetWindowText(str,70);
     DWORD dByteWrite;
     HANDLE hMailSlot
=CreateFile(_T("\\\\.\\mailslot\\chenxiao"),GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_ALWAYS,
         FILE_ATTRIBUTE_NORMAL,NULL);
    
if (hMailSlot==INVALID_HANDLE_VALUE)
    
{
        MessageBox(_T(
"createfilep|Q请打开服务?/span>"));
        
return ;
    }

     BOOL b
=WriteFile(hMailSlot,str,sizeof(TCHAR)*80,&dByteWrite,NULL);
     GetDlgItem(IDC_EDIT_INPUT)
->SetWindowText(_T(""));
     CloseHandle(hMailSlot);
}


q就是运行结果啦。这个东西没啥大用。就是学习一下而已。以后万一用到也能弄弄?br />
下面我说?strong style="background-color: #ff0000">命名道。这个东西坑了我一下午。。?br />邮槽建立的是无连接的通信。。那么命名管?是有链接的可靠的通信了。他跟邮槽挺怼的。但是比邮槽好很多?br />同上面。我_一些概忉|的东西?/p>

命名道是通过|络来完成进E之间的通信的,命名道依赖于底层网l接口,

其中包括?DNS 服务QTCP/IP 协议{等机制Q但是其屏蔽了底层的|络协议l节Q?/p>

对于匿名道而言Q其只能实现在父q程和子q程之间q行通信Q而对于命名管道而言Q?/p>

其不仅可以在本地机器上实C个进E之间的通信Q还可以跨越|络实现两个q程之间的通信?/strong>

命名道使用?Windows 安全机制Q因而命名管道的服务端可以控制哪些客h权与其徏立连接,

而哪些客L是不能够与这个命名管道徏立连接的?/p>

利用命名道机制实现不同机器上的q程之间怺q行通信Ӟ

可以命名管道作ZU网l编E方案时Q也是看做?Socket 可以了Q?/p>

它实际上是徏立了一个客h/服务器通信体系Qƈ在其中可靠的传输数据?/p>

命名道的通信是以q接的方式来q行的,

服务器创Z个命名管道对象,然后在此对象上等待连接请求,

一旦客戯接过来,则两者都可以通过命名道L者写数据?/strong>          

命名道提供了两U通信模式Q字节模式和消息模式?

在字节模式下Q数据以一个连l的字节的形式在客h和服务器之间动Q?

而在消息模式下,客户机和服务器则通过一pd的不q箋的数据单位,q行数据的收发,

每次在管道上发出一个消息后Q它必须作ؓ一个完整的消息d?br />

我相信很多h看了几句p到这里来了。。概忉|的东西 实太不好玩了。我也不q。。哈?br />介绍命名道需要的函数?br />服务器端

CreateNamedPipe 创徏命名道

 ConnectNamedPip  q接
ReadFile    ?br />WriteFile  ?/span>

客户?/span>

WaitNamedPipe 查看命名道
CreateFile  打开命名道
WriteFile ReadFile  ?nbsp;  ?br />

p些东西,今天׃不仔l看msdn 写程序写蒙了。。。等会我在说啊。大家要注意哦?br />CreateNamedPipe(_T("\\\\.\\pipe\\chenxiao"),PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED,PIPE_TYPE_BYTE,1,1024,1024,2000,NULL);
很多参数啊!不怕不?慢慢?br />W一个我略过了哦。第二个大家在msdn上可以看到有
PIPE_ACCESS_DUPLEX   d双向
PIPE_ACCESS_INBOUND   数据只能从客L到服务端
PIPE_ACCESS_OUTBOUND  和上面那个相?br />q个参数我们讄?W一个。然而通过msdn大家可以看到q个参数可以附加 flag  我们附加FILE_FLAG_OVERLAPPED q个?br />MSDN那一大堆英文我也瞅不太明白,大至意思就是这个呢 用了q个参数 E序操作读,写,q接{操作,可以立马q回。比如说M个大文g?/p>

你把q个文g从头d?需要很长时间。这L话你的readfile函数׃会反?nbsp; ׃d在那里一直读。这样很不好Q所以有了这个参数。这个参数就是你的??{待函数立马q回Q这个就属于E序的异步,q个d数和ȝ序一h行?br />下一个参数就是以字节还是消息方式发送文?d文g。我们采用字节流方式PIPE_TYPE_BYTE?br />下一个参数是最多可以创建几个命名管?比如我们讄?Q就是可以创?个这L道。我们这里设|成1Q我们只用一个管道做演示p。然后是分配的输?输出 ~冲区大?Q就cM创徏U程时分配栈I间大小一栗然后是一个超时时间设|?q个讄?可以。最后一个NULL安全属?/p>

ConnectNamedPipe服务端的q接道函数q个函数两个参数W一个参数句柄,W二个参C个结构体对象
q个l构体呢 里面有一个事件句柄。刚才上边由于设|了异步Q所以你要有一个标志着ȝ束的标志Q这个标志就用的q个事g。创个事件要讄成手动的Q初始ؓ无信受?/p>

q样服务端的写完了?br />然后再说一下客L的函?br />WaitNamedPipe(_T("\\\\.\\pipe\\chenxiao"),0);
q个函数呢就属于一个查看函敎ͼ看看有没有叫chenxiao的命名管?br />大家不要认ؓq个函数可以打开命名道 或者连接管?br />大家从msdn上可以看到这句话If the function succeeds,the process should use the CreateFile function to open a handle to the named pipe
今天我由于没看到q句话苦苦弄了一个下午也没连上管?555555555
在客L可以用waitnamedpipe查下有没有这个管?然后再createfile打开它?br />哦了 搞定了。搞上我的代码瞅瞅效果?/p>

 

//服务器端的代?nbsp; MFC写的

void CPipeServerDlg::OnBnClickedButtonCreate()
{
    m_hNP
=CreateNamedPipe(_T("\\\\.\\pipe\\chenxiao"),
        PIPE_ACCESS_DUPLEX
|FILE_FLAG_OVERLAPPED,
        PIPE_TYPE_BYTE,
1,1024,1024,0,NULL);
    
if (m_hNP==INVALID_HANDLE_VALUE)
    
{
        MessageBox(_T(
"创徏道p|"));
    }

    
else
    
{
        MessageBox(_T(
"创徏道成功"));
    }

    
//q接-----------------------------
    
    OVERLAPPED op;
    ZeroMemory(
&op,sizeof(OVERLAPPED));
    op.hEvent
=CreateEvent(NULL,TRUE,FALSE,NULL);
    BOOL b
=ConnectNamedPipe(m_hNP,&op);
    
if (WaitForSingleObject(op.hEvent,INFINITE)==0)
    
{
        MessageBox(_T(
"connect成功 haha"));
    }

    
else
    
{
        MessageBox(_T(
"create fail"));
    }

}


void CPipeServerDlg::OnBnClickedButtonWrite()
{

    TCHAR buff[
100]=_T("来自服务器的信息");
    DWORD d;
    WriteFile(m_hNP,buff,
200,&d,NULL);
}


void CPipeServerDlg::OnBnClickedButtonRead()
{
    TCHAR buff[
100];
    ZeroMemory(buff,
200);
    DWORD d;
    ReadFile(m_hNP,buff,
200,&d,NULL);
    MessageBox(buff);
}

 

//客户端的代码 MFC写的


void CPipeClientDlg::OnBnClickedButtonOpenpipe()
{
    BOOL b
=WaitNamedPipe(_T("\\\\.\\pipe\\chenxiao"),0);
    
//BOOL b=1;
    m_hFile = CreateFile(_T("\\\\.\\pipe\\chenxiao"), 
        GENERIC_READ 
| GENERIC_WRITE,
        
0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    
if (!b||m_hFile==INVALID_HANDLE_VALUE)
    
{
        MessageBox(_T(
"q接p|"));
    }

    
else
    
{
        MessageBox(_T(
"q接成功"));
    }

}


void CPipeClientDlg::OnBnClickedButtonRecieve()
{
    TCHAR buff[
100];
    ZeroMemory(buff,
200);
    DWORD d;
    ReadFile(m_hFile,buff,
200,&d,NULL);
    MessageBox(buff);
}


void CPipeClientDlg::OnBnClickedButtonSend()
{
    TCHAR buff[
100]=_T("client's message");
    DWORD d;
    WriteFile(m_hFile,buff,
200,&d,NULL);
}

下图E序q行效果?img border="0" alt="" src="http://www.shnenglu.com/images/cppblog_com/cw290746987/命名道.png" width="1038" longdesc="" height="396" />

哇卡卡阿?br />













 



陈晓 2011-08-01 22:14 发表评论
]]>
q程通信——剪贴板http://www.shnenglu.com/cw290746987/archive/2011/07/31/152157.html陈晓陈晓Sun, 31 Jul 2011 09:11:00 GMThttp://www.shnenglu.com/cw290746987/archive/2011/07/31/152157.htmlhttp://www.shnenglu.com/cw290746987/comments/152157.htmlhttp://www.shnenglu.com/cw290746987/archive/2011/07/31/152157.html#Feedback0http://www.shnenglu.com/cw290746987/comments/commentRss/152157.htmlhttp://www.shnenglu.com/cw290746987/services/trackbacks/152157.html׃在启动一个进E后Q操作系l会l这个进E分?4GB 的私有地址I间Q至于ؓ何有 4GB q么大,

那得考虑q程的私有地址I间和实际物理内存地址I间之间的映以及页交换{等l节问题了,q里不予讨论Q?/p>

既然操作pȝl每一个进E分配的是私有地址I间Q自Ӟq段地址I间也只有这个进E自己才能访问了Q?br />既然q段U有地址I间只能pE本w访问,那也p明别的进E是不能够随意的讉Kq个q程的地址I间的,

而上面又说Q意两个进E之间是q能够互相访问对方的U有地址I间的,都不能访问了Q那q通信个屁?Q?/p>

自然上面的访问对方进E的U有地址I间是行不通了Q那应该q有其他办法?Q!Q?/p>

如果我在物理内存中划分出一块内存,q一块内存不ZQ何的q程所U有Q但是Q何的q程又都可以讉Kq块内存Q?/p>

那么 q程 A 可以往q块内存中存放数?Data Q然?q程 B 也是可以讉Kq块内存的,从?q程 B 可以访问到数据 Data 了,

q样不就实现?q程 A ?q程 B 之间的通信?Q!Q?/p>

而上面的q种思\是剪脓板了?/p>

当然解决q程间通信q有好几U思\Q本文暂只介l利用剪贴板来实现进E间的通信?br />前面q段话是我抄q来的,呵呵Q自己写不了q种书面语?br />我写一下我对剪贴板的用,我也是新学的Q有不对的地方还请大家指炏V?br />
向剪贴板中写入数?br />打开剪脓?OpenClipboard
清空剪脓?EmptyClipboard
讄剪脓板数据SetClipboardData
关闭剪脓板CloseClipboard

从剪贴板d数据
打开剪脓?OpenClipboard
判断数据cdIsClipboardFormatAvailable
得到剪脓板数据GetClipboardData
关闭剪脓板CloseClipboard

我在说下具体的函数怎么?br />Openclipboard大家在msdn上可以看?仅有一个参?em>hWndNewOwnerQ?br />q个参数表明那个H口拥有剪脓板的使用?已在此窗口中打开Q别的窗口中调用openclipboard׃p|
q个参数可以讄成null。If this parameter is NULL, the open clipboard is associated with the current task
呵呵Q这个设成null之后 在后边的 setclipboarddata ׃能采用gq发送了。因?#8230;…{会说gq发送就会知道了。(q是我试验得出的l论Q应该没问题Q?br />q个参数我们暂且设ؓH口句柄 m_hWnd(我用的MFC~的Q?br />EmptyClipboardq个函数没什么说的了。就是清I剪贴板的数?q有是The function then assigns ownership of the clipboard to the window that currently has the clipboard open.
SetClipboardData( UINT uFormat, HANDLE hMem);
有两个参数第一个参数是数据cd 我们讄成CF_UNICODETEXT?br />W二个参数是the hMem parameter identifies a memory object, the object must have been allocated using the function with the GMEM_MOVEABLE flag.
q句话得意思就?hmem是块内存对象的句?q块内存要是GMEM_MOVEABLE 型的。这又要引进一个申请内存的函数。^常我们用的malloc new {都?br />在自qq程中申L_如果用他?我们的通信也就通不成了。所以我们要甌个全局的内存空?br />GlobalAlloc(GMEM_MOVEABLE,dwBytes)Q第一个参数就是可Ud的意思(当别人申请一块大I间的时?比如我们甌的空间比较散乱占用了一部分I间 别hq请不了一整块大的I间了。这h们的I间如果是可Ud的,׃被移动的凝聚一些,别h有地方甌大的I间了,U色是我们申L凌ؕ的空_l色是又想申L一大块Q?img border="0" alt="" src="http://www.shnenglu.com/images/cppblog_com/cw290746987/内存I间.png" width="224" longdesc="" height="149" />

q个我不在这里多Ԍ内存理我懂的也不太多。不懂的可以找找内存理斚w的书?W二个参数就是空间大?br />
q样我们完成了设|剪贴板数据 Q然后我们关闭剪贴板p了?br />d单一些?br />::OpenClipboard(m_hWnd)
IsClipboardFormatAvailable(CF_UNICODETEXT)//判断剪脓板内数据cd
HANDLE hClip=::GetClipboardData(CF_UNICODETEXT)//得到剪脓板的句柄
然后是使用里面的数据了。这里要注意Q一定要l数据上?Q就是说我们在用数据的q个旉内,别h不准Ud我们的内存。这个大家能理解吧?br />TCHAR * p=(TCHAR *)GlobalLock(hClip);//强制装换成我们的宽字W?nbsp; 上锁
MessageBox(p);输出卛_
  GlobalUnlock(hClip);  解锁
  ::CloseClipboard();
q就完成了,我脓一D代码上来哦

//q个是写入剪贴板
    if(!::OpenClipboard(m_hWnd))
    
{
        MessageBox(_T(
"打开剪切板失?/span>"));
    }

    ::EmptyClipboard();
      CString str
=_T("hahaaha");
      HGLOBAL  hG
=GlobalAlloc(GMEM_MOVEABLE,sizeof(_T("hahaaha"))+2);
      _tcscpy_s((wchar_t 
*)GlobalLock(hG),sizeof(_T("hahaaha"))/2+1,str);
      GlobalUnlock(hG);
    ::SetClipboardData(CF_UNICODETEXT,hG);
    ::C
//q个是从剪脓板中d数据
if(!::OpenClipboard(m_hWnd))
         
{
             MessageBox(_T(
"打开剪切板失?/span>"));
            
return ;
         }

        
if (::IsClipboardFormatAvailable(CF_UNICODETEXT))
    
{

        HANDLE hClip
=::GetClipboardData(CF_UNICODETEXT);
        TCHAR 
* p=(TCHAR *)GlobalLock(hClip);
        MessageBox(p);
        GlobalUnlock(hClip);
        ::CloseClipboard();
    }

    
else
    
{
        MessageBox(_T(
"剪脓板的内容不是unicode"));
    }


然后最后我在说说gq发送setclipboarddata 的第二个参数传ؓnull ׃ؓ延迟发?br />延迟发送就是一开始点写入剪脓板的时候不写入Q然后另一个进E想要得到剪贴板里的信息的时候也是在getclipboarddata?br />pȝ会发个消息给我们以前的那个窗?q记得openclipboard传的那个m_hWnd了吧Q就是给q个H口发个消息WM_RENDERFORMAT
然后你在q个消息响应函数中进行把数据写入剪脓ѝ?br />q有一U情况就是你在想_脓的时?nbsp; 你的原先写入的那个程序已l关闭了Q这L话你帖不了了?q样 q有一个消?br />如果你选择了gq发?然后关闭应用E序的话Q就会响应一个WM_RENDERALLFORMATS消息 那么你在q个响应函数中把你要写入剪脓板得数据
写入 可以避免这U情况了?br />?累死我了Q可下写完了。。。?br />





陈晓 2011-07-31 17:11 发表评论
]]>
快照、用q程快照Q和模块快照做个单的d理?/title><link>http://www.shnenglu.com/cw290746987/archive/2011/07/31/152138.html</link><dc:creator>陈晓</dc:creator><author>陈晓</author><pubDate>Sun, 31 Jul 2011 06:34:00 GMT</pubDate><guid>http://www.shnenglu.com/cw290746987/archive/2011/07/31/152138.html</guid><wfw:comment>http://www.shnenglu.com/cw290746987/comments/152138.html</wfw:comment><comments>http://www.shnenglu.com/cw290746987/archive/2011/07/31/152138.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/cw290746987/comments/commentRss/152138.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/cw290746987/services/trackbacks/152138.html</trackback:ping><description><![CDATA[<div><div>得到pȝ中的q程信息</div><div>CreateToolhelp32Snapshot 快照  </div><div>此函数能得到pȝ中的所有进E?所有模?信息{?/div><div>然后用Process32First得到快照W一个节点信息(快照得到的东西相当于链表Q?/div><div>用此可以实现一个windowsd理器?br />用mFc写的?br />//把ListCtrl的表头做出来<br /><div><div>CListCtrl * m_pListCtrl=new CListCtrl;//m_pListCtrl要类的全局变量?nbsp;</div><div><span style="white-space:pre"> </span>m_pListCtrl->Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT</div><div><span style="white-space:pre"> </span>,CRect(50,50,590,350),this,IDC_LIST1);</div><div><span style="white-space:pre"> </span>m_pListCtrl->SetExtendedStyle(m_pListCtrl->GetExtendedStyle()|</div><div><span style="white-space:pre"> </span>LVS_EX_HEADERDRAGDROP|LVS_EX_FULLROWSELECT|</div><div><span style="white-space:pre"> </span>LVS_EX_TWOCLICKACTIVATE|LVS_EX_UNDERLINECOLD);</div><div><span style="white-space:pre"> </span>m_pListCtrl->InsertColumn(0,_T("q程?),LVCFMT_LEFT,120);</div><div><span style="white-space:pre"> </span>m_pListCtrl->InsertColumn(1,_T("q程ID"),LVCFMT_LEFT,70);</div><div><span style="white-space:pre"> </span>m_pListCtrl->InsertColumn(2,_T("U程数量"),LVCFMT_LEFT,70);</div><div><span style="white-space:pre"> </span>m_pListCtrl->InsertColumn(3,_T("路径"),LVCFMT_LEFT,340);<br /><br />//d所有运行中的进E?和进E名?加入?ListCtrl?br />   m_pListCtrl->DeleteAllItems();//先清I里面的所有item 一开始是没有的,但是也要写一下?div><div><span style="white-space:pre"> </span>HANDLE hSnapProcess=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//创徏q程快照</div><div><span style="white-space:pre"> </span>HANDLE hSnapModule;</div><div><span style="white-space:pre"> </span>PROCESSENTRY32 pe;</div><div><span style="white-space:pre"> </span>MODULEENTRY32  me;</div><div><span style="white-space:pre"> </span>ZeroMemory(&me,sizeof(MODULEENTRY32));</div><div><span style="white-space:pre"> </span>ZeroMemory(&pe,sizeof(PROCESSENTRY32));</div><div><span style="white-space:pre"> </span>me.dwSize=sizeof(MODULEENTRY32);</div><div><span style="white-space:pre"> </span>pe.dwSize=sizeof(PROCESSENTRY32);</div><div><span style="white-space:pre"> </span>int pos=0;</div><div><span style="white-space:pre"> </span>Process32First(hSnapProcess,&pe);//从线E快照中dW一个进E信?/div><div><span style="white-space:pre"> </span>CString strTemp;</div><div><span style="white-space:pre"> </span>do </div><div><span style="white-space:pre"> </span>{</div><div><span style="white-space:pre"> </span>hSnapModule=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,pe.th32ProcessID);   //Ҏq程id创徏模块快照</div><div><span style="white-space:pre"> </span>m_pListCtrl->InsertItem(pos,_T(""));     //插入一个item</div><div><span style="white-space:pre"> </span>Module32First(hSnapModule,&me);        //d模块中的信息  只有一个模块。因为是Ҏ具体q程创徏的模块快?/div><div><span style="white-space:pre"> </span>m_pListCtrl->SetItemText(pos,0,pe.szExeFile);   //讄的进E名</div><div><span style="white-space:pre"> </span>strTemp.Format(_T("%d"),pe.th32ProcessID);</div><div><span style="white-space:pre"> </span>m_pListCtrl->SetItemText(pos,1,strTemp);   //q程id</div><div><span style="white-space:pre"> </span>strTemp.Format(_T("%d"),pe.cntThreads);</div><div><span style="white-space:pre"> </span>m_pListCtrl->SetItemText(pos,2,strTemp);    //U程?/div><div><span style="white-space:pre"> </span>m_pListCtrl->SetItemText(pos,3,me.szExePath);   //q程exe路径</div><div><span style="white-space:pre"> </span>} while (Process32Next(hSnapProcess,&pe));//M一个进E?/div><div><span style="white-space:pre"><br /> 在写个关闭进E?的按?/span></div><div><span style="white-space: pre; "><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">void</span><span style="color: #000000; "> CProcessManagerDlg::OnBnClickedButtonClose()<br />{<br />    </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> iMark</span><span style="color: #000000; ">=</span><span style="color: #000000; ">m_pListCtrl</span><span style="color: #000000; ">-></span><span style="color: #000000; ">GetSelectionMark();<br />    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">iMark)<br />    {<br />        CString  str</span><span style="color: #000000; ">=</span><span style="color: #000000; ">m_pListCtrl</span><span style="color: #000000; ">-></span><span style="color: #000000; ">GetItemText(iMark,</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br />        HANDLE hProcess</span><span style="color: #000000; ">=</span><span style="color: #000000; ">OpenProcess(PROCESS_ALL_ACCESS,FALSE,_wtoi(str));<br />        DWORD dExitCode;<br />        GetExitCodeProcess(hProcess,</span><span style="color: #000000; ">&</span><span style="color: #000000; ">dExitCode);<br />        TerminateProcess(hProcess,dExitCode);<br />        m_pListCtrl</span><span style="color: #000000; ">-></span><span style="color: #000000; ">DeleteItem(iMark);<br />        str.Format(_T(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">),</span><span style="color: #000000; ">--</span><span style="color: #000000; ">count);<br />        GetDlgItem(IDC_STATIC_COUNT)</span><span style="color: #000000; ">-></span><span style="color: #000000; ">SetWindowText(str);<br />    }<br />    </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br />    {<br />        MessageBox(_T(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">没有选中q程</span><span style="color: #000000; ">"</span><span style="color: #000000; ">));<br />    }<br /><br />}</span></div><br />  嘿嘿Q看看这个图 q是挺好的?br /><br />   <br /><div><img src="http://www.shnenglu.com/images/cppblog_com/cw290746987/q程理?jpg" width="781" height="447" alt="" /></div></span></div></div><br /><br /><br /></div></div></div></div><img src ="http://www.shnenglu.com/cw290746987/aggbug/152138.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/cw290746987/" target="_blank">陈晓</a> 2011-07-31 14:34 <a href="http://www.shnenglu.com/cw290746987/archive/2011/07/31/152138.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>多线E、事件eventhttp://www.shnenglu.com/cw290746987/archive/2011/07/30/152089.html陈晓陈晓Sat, 30 Jul 2011 06:32:00 GMThttp://www.shnenglu.com/cw290746987/archive/2011/07/30/152089.htmlhttp://www.shnenglu.com/cw290746987/comments/152089.htmlhttp://www.shnenglu.com/cw290746987/archive/2011/07/30/152089.html#Feedback0http://www.shnenglu.com/cw290746987/comments/commentRss/152089.htmlhttp://www.shnenglu.com/cw290746987/services/trackbacks/152089.html

是自己随便做的W记Q可能对不v观众了。只是记录了用的函数。具体用方法还是看下msdn
创徏CreateThread 参见msdn  要记得closehandle

mfc 创徏U程 afxbeginthread

创徏事g createevent

{待函数WaitForSingleObject   自动事g有信?l过{待函数变成无信受?/p>

U程退出,写在timer?隔一D|间一。可以用多等?WaitForMultipleObjectsq回WAIT_OBJECT_0时则为所有事仉为有信号状态?/p>


U程同步 

临界区法

定义临界区CRITICAL_SECTION m_critical;

InitializeCriticalSectionQ?amp;m_criticalQ?初始化界区

EnterCriticalSection(&(p->m_critical));q入

LeaveCriticalSection(&(p->m_critical))Q离开

DeleteCriticalSectionQ?amp;m_criticalQ释?/p>

事g?/p>

定义自动变换事gm_hEvent

WaitForSingleObject(m_hEvent,INFINITE);

//被保护的代码

SetEvent(p->m_hEvent);

互斥对象?/p>

Ig互斥对象 createmutex

{待函数WaitForSingleObject

//被保护的代码

释放互斥对象使用权ReleaseMutex

信号?nbsp; semaphore内核对象
CreateSemaphoreQ安全性,初始话信号量Q最大信号量QnameQ?br />l过wait函数信号量减?br />releaseSemaphoreQ句柄,信号增加量,【out】前个信号量Q?/p>

 

 

利用事g判断应用E序不能q用两个
createevent的最后一个参数name 写一?#8220;唯一?#8221;
然后再创建的q个旉 ?#8220;唯一?#8221;q个名字  ׃出错
用getlasterror 能得到ERROR_ALREADY_EXISTS  
整个q程应该在app 的init中进?/p>



陈晓 2011-07-30 14:32 发表评论
]]>
ȝ的几个排序算?/title><link>http://www.shnenglu.com/cw290746987/archive/2011/07/30/152088.html</link><dc:creator>陈晓</dc:creator><author>陈晓</author><pubDate>Sat, 30 Jul 2011 06:29:00 GMT</pubDate><guid>http://www.shnenglu.com/cw290746987/archive/2011/07/30/152088.html</guid><wfw:comment>http://www.shnenglu.com/cw290746987/comments/152088.html</wfw:comment><comments>http://www.shnenglu.com/cw290746987/archive/2011/07/30/152088.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/cw290746987/comments/commentRss/152088.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/cw290746987/services/trackbacks/152088.html</trackback:ping><description><![CDATA[<p>快速排序:<br />思想 一个标记数Q取数组最后一个数Q?nbsp; 左边放比他小的所有数 双放比它都大的?br />q样分成的两个数l?在进?N一个数作ؓ标记C为标记分割数l?br />一直到分不了ؓ?nbsp; 自然排好了l?nbsp;  用具体数字分析一?br />一个数lchar data[9]={2,5,8,3,7,6,1,9,4};<br />分开q个数组 看好了怎么把比4的数都攑ֈ它前?br /> int biaoji=data[8];//最后一个数<br /> int weizhi=data[j];//q个一个位|数 一开始把它放在最前边 j?+<br /> data[i];//q个是用来遍历数l的。i?+<br />forQint i=0;i<8;i++Q?/因ؓ最后一个数是标?所以只要对?个数q行遍历p<br />{ <br /> ifQdata[i]<biaojiQ?br /> {<br />   交换data[i]和weizhi<br />   位置的j++ 位置向后C位(q个位置意味着比标记小的数都放C|的左边边) <br /> }<br />}<br />在分开之后 我们要把我们的标讎ͼ也就是最后一个数Q和我们的位|数 换一?br />q样做Cq样的事 把{2,5,8,3,7,6,1,9,4} 换成了{2Q?Q?Q?Q?Q?Q?Q?}<br />好了 上代?在看看代码相?都会了?br />q是我用c++实现的代?哈哈写完了感觉很爽!</p> <p>#include <iostream><br />using namespace std;<br />//得到分割?把小于最后一个数的数攑֜i前边<br />//iData 是数l{2,5,8,3,7,6,1,9,4} iBegin是开始的索引0  iEnd是结束的索引8<br />int getCutpoint(int * iData,int iBegin,int iEnd)<br />{<br />  int iCut=iData[iEnd];<br />  int i=iBegin;<br /> int temp;<br />  for(int j=iBegin;j<iEnd;j++)<br />  {<br />   //如果前面的比最后一个iCut的话,那么?br />   //iData[i]和iData[j]?br />   if (iData[j]<=iCut)<br />   {<br />    temp=iData[i];<br />    iData[i]=iData[j];<br />    iData[j]=temp; <br />    i++;<br />  }<br />  }<br />  //交换最后一个与i处也是cut?br />  iData[iEnd]=iData[i];<br />  iData[i]=iCut;<br /> return i;//q回分割的烦?br />}<br />void fastSortCallBack(int * iData,int iBegin,int iEnd)<br />{<br /> if (iBegin>=iEnd)<br /> {<br />  return;<br /> }<br /> int i=getCutpoint(iData,iBegin,iEnd);<br /> //回调l箋getcutpoint左部?br /> fastSortCallBack(iData,iBegin,i-1);<br /> //回调l箋getcutpoint右部?br /> fastSortCallBack(iData,i+1,iEnd);<br /> return ;<br />}<br />void fastSort(int * iData,int iLength)<br />{<br /> fastSortCallBack(iData,0,iLength-1);<br />}<br />int main()<br />{<br /> int d[9]={2,5,8,3,7,6,1,9,4};<br /> fastSort(d,9);<br /> for (int i=0;i<9;i++)<br /> {<br />  cout<<d[i]<<" ";<br /> }<br /> system("pause");<br /> return 0;<br />}</p> <p> </p> <p><br />选择排序Q?br />选择排序和冒泡排序思\上有一点相|都是先确定最元素,再确定第二笑元素Q最后确定最大元素。这个方法比较简单,他的主要程如下Q?br />1.加入一个数lA = {5,3,6,2,4,7}Q我们对他进行排?br />2.定最的元素攑֜A[0]位置Q我们怎么定呢,首先默认最元素ؓ5,他的索引?,然后用它?比较Q比他打Q则认ؓ最元素ؓ3,他的索引?Q然后用3?比,发现比他,最元素还?Q然后跟2比,最元素变成了2Q烦引ؓ3Q然后跟4比,?比。当比较l束之后Q最元素也埃落定了。就?Q烦引ؓ3Q然后我们把他放在A[0]处。ؓ了A[0]原有数据部丢失,我们使A[0](要放的位|? 与A[3]Q最数据的位置Q交换。这样就不可以了吗?<br />3.然后我们在来扄二小元素Q放在A[1]Q第三小元素Q放在A[2]。。当L完毕Q我们排序也q束了?br />4.不过Q在扄时候要注意其实位置Q不能在找A[2]的时候,q用A[2]的数据跟已经排好的A[0],A[1]比,一定要跟还没有定位置的元素比。还有一个技巧就是我们不能每ơ都存元素值和索引Q我们只存烦引就可以了,通过索引p扑ֈ元素了。呵c?br />5.他和冒的相似和区别Q冒泡和他最大的区别是他发现比他就交换Q把的放上面,而选择是选择到最的在直接放在确定的位置。选择也是E_的排?nbsp; Q这个还是很好实现的?/p> <p>void SelectSort(int* pnData, int nLen)<br />{<br />    //i从[0,nLen-1)开始选择Q确定第i个元?br />    for (int i = 0; i < nLen - 1; ++i)<br />    {<br />        int nIndex = i;<br />        //遍历剩余数据Q选择出当前最的数据<br />        for (int j = i + 1; j < nLen; ++j)<br />        {<br />            if (pnData[j] < pnData[nIndex])    <br />            {<br />                nIndex = j;<br />            }<br />        }<br />        //如果当前最数据烦引不是iQ也是说排在i位置的数据在nIndex?br />        if (nIndex != i)        <br />        {<br />            //交换数据Q确定i位置的数据?br />            int nTemp = pnData[i];<br />            pnData[i] = pnData[nIndex];<br />            pnData[nIndex] = nTemp;<br />        }<br />    }<br />}</p> <p> </p> <p><br />插入排序Q?br />思想Q从W二个元素开始向后遍历,然后跟前面比较,如果比前边的元素则向前插入<br />由data[1]和data[0]比较 如果data[1]<data[0]则data[0]后移一?然后data[1]插入到data[0]位置<br />当然了,在data[0]后移的时候要用temp 记录data[1]的?br />q样l箋下去…… <br />ifQdata[i]<(data i 前边的元?Q?br />{<br />  data i 前边的元素就后移<br />}<br />最后把data[i]攑ֈ该插入的地方?下面献上一点点代码 其中主要不好弄的是在头部<br />比如{3Q?Q?,6,2,1} q个2 ?1 向前插入的话2 比第一个数3q要?所以他下一步就要去<br />和烦引ؓ-1的数比较Q这是不允许的。所?#8230;…如下<br />void insertSort(int * pData,int iLength)<br />{<br /> //从第二个元素开?向前?br /> int temp=pData[1];<br /> for (int i=1;i<iLength;)<br /> {<br />  for (int j=i-1;j>=0;j--)<br />  {<br />   //如果temp比前边的大,则前边的后移 最后把temp攑֜前面<br />   if (temp<pData[j])<br />   {<br />    pData[j+1]=pData[j];<br />     if (j==0)<br />     {<br />      pData[0]=temp;<br />     } <br />   }<br />    else<br />    {<br />     pData[j+1]=temp;<br />     break;<br />    }<br />   <br />  }<br />  <br />  temp=pData[++i];<br /> }<br />}</p> <p> </p> <p> </p> <p>希尔排序</p> <p>待学习?/p> <p> </p> <p><br />堆排序!Q!Q!Q!Q!Q?/p> <p> q不会呢。?/p> <p> </p> <p>冒排序  ?#8230;…</p><img src ="http://www.shnenglu.com/cw290746987/aggbug/152088.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/cw290746987/" target="_blank">陈晓</a> 2011-07-30 14:29 <a href="http://www.shnenglu.com/cw290746987/archive/2011/07/30/152088.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.wuchui.cn" target="_blank">þþƷ۲ӰԺ</a>| <a href="http://www.ezhekou.cn" target="_blank">þþƷAVũ帾Ů </a>| <a href="http://www.cd-hk.cn" target="_blank">޾ƷþþþAV鶹</a>| <a href="http://www.sme88.cn" target="_blank">þþƷŷƬ</a>| <a href="http://www.tduck.cn" target="_blank">˾þô߽av</a>| <a href="http://www.dnf-video.cn" target="_blank">þþþþþۺձ</a>| <a href="http://www.hpd4.cn" target="_blank">ŷ޹׾þþþþþ</a>| <a href="http://www.ssgov.cn" target="_blank">ձǿƬþþþþAAA </a>| <a href="http://www.qhylhsk.cn" target="_blank">˳wwwþþ</a>| <a href="http://www.88177.com.cn" target="_blank">þ޴ɫĻþþ </a>| <a href="http://www.csjhc.cn" target="_blank">޹˾Ʒþþþþۺ</a>| <a href="http://www.208dj.cn" target="_blank">޾þһ </a>| <a href="http://www.mashar.cn" target="_blank">þþþ㽶Ƶ</a>| <a href="http://www.audividi.com.cn" target="_blank">ŷ޳ҹƷþ</a>| <a href="http://www.4000300252.cn" target="_blank">ƷëٸAVѾþ</a>| <a href="http://www.material7.cn" target="_blank">¶ۺϼ¾þ</a>| <a href="http://www.tianyacity.cn" target="_blank">þþƷŷƬ</a>| <a href="http://www.xvjw.cn" target="_blank">99þþƷѾƷһ</a>| <a href="http://www.zgsmkf.cn" target="_blank">ŷ˾þô߽ۺ</a>| <a href="http://www.haowang888.cn" target="_blank">91Ʒ91Ⱦþþþø</a>| <a href="http://www.ejyp.cn" target="_blank">ŷ츾þþþþò</a>| <a href="http://www.fuwumianyang.cn" target="_blank">ŷaƬѿþ</a>| <a href="http://www.atlasbl.cn" target="_blank">ھƷþþþ</a>| <a href="http://www.yxcyfa.cn" target="_blank">Ʒþþþþþ</a>| <a href="http://www.liangfang013.cn" target="_blank">þ޾ƷVA</a>| <a href="http://www.shiweey.cn" target="_blank">þþƷһ</a>| <a href="http://www.6nz.com.cn" target="_blank">þùƷһ </a>| <a href="http://www.beibeiyou.cn" target="_blank">þþþ޾Ʒ </a>| <a href="http://www.fc27.cn" target="_blank">Ʒ99þѹۿ</a>| <a href="http://www.seomajor.cn" target="_blank">͵ٸþþþþþþ</a>| <a href="http://www.ewoman.com.cn" target="_blank">þþþþžžƷӰԺ</a>| <a href="http://www.jshzyj.cn" target="_blank">ˬˬƬaþ</a>| <a href="http://www.hhlou.com.cn" target="_blank">þþƷAV鶹վ</a>| <a href="http://www.qwoj.cn" target="_blank">þùۺϾƷ</a>| <a href="http://www.guoweipi.cn" target="_blank">99Ʒþþþþþ</a>| <a href="http://www.esld.cn" target="_blank">þþþþùƷŮ</a>| <a href="http://www.jijijian.cn" target="_blank">þAAAƬ69</a>| <a href="http://www.45jj.cn" target="_blank">˾þþƷһ </a>| <a href="http://www.thha.cn" target="_blank">þþҹƷ</a>| <a href="http://www.ssjnet.cn" target="_blank">þ99ֻоƷ</a>| <a href="http://www.xlijz.cn" target="_blank">þ99žŹѿС˵</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>