1. VC实际上没有想象中那么流行,有被夸大的成分。国外我不了解,只谈国内。
  曾经连续若干年,无论是学校图书馆,还是新华书店,还是XX培训班,VC绝对是主力。
  很多大学在开设C/C++课程时,要么还停留在TurboC时代,要么就是一律VC++,鲜有
  其它开发环境。图书馆和书店,铺天盖地都是VC++,都是24小时精通,都是速成,都是
  深入浅出,都是内幕云云。几乎看不到其它开发工具的影子。这给我们一种错误的讯息,
  VC很强大,整个社会都在用VC。当我第一次看到Linux的时候,甚至有些恐惧,竟然还有
  这么不一样的windows。当我头一回用GCC和Vim的时候,惊慌失措。我想,很多人应该跟
  我境遇差不多,身边充满VC的影子,多到让人窒息。其实,脚本语言也挺流行的,只不过
  大环境让我们直到工作后才体会得到。

2. VC真的在没落。
  桌面软件的开发,曾经是VC独步天下,C#刚出来的时候,被不少人当作笑柄,要装一个巨大
  无比.net才能使用。直到现在,使用C#开发桌面软件仍然是少数,至少我电脑里只有一个索
  爱手机的管理软件。这种情况将要得到改写,因为Vista开始,.net已经默认集成到操作系统
  中了,就跟以前的MFCxx.dll和MSVCRT.dll一样。用过C#的人都知道,C#很方便,无论是对OO
  思想的支持程度,还是做GUI的RAD,都非常方便。再看VC,MFC渐渐淡去,这么多年也几乎没
  多少进步,微软对之支持力度也是远远不如.net, WTL是好东西,可是没有官方支持。即使是
  VC.net,也比不上C#,毕竟C#是为了.net而生的。

3. VC在很多方面开发效率不高。
  并不是说VC在退步,而是他进步缓慢。在很多领域,取代VC的工具渐渐崭露头角,Python的快速
  开发能力相当惊人,Java也有非常丰富的库支持,本来用VC做的一些小项目,拿他们来做,节省
  了大量的开发时间。微软的VC类库,倒是很多年没大动静了。特别是涉及到互联网功能的地方,
  VC被很多工具超越。 阅读全文
$f = 'mood.txt';
echo( getMood($f) );


function getMood ( $filename )
{
  $fp = fopen($filename,"r");
  $d = fgets($fp,1024);
  fclose($fp);
  return $d;
}

function writeMood ( $filename , $mooddata )
{
  $mooddata = trim( $mooddata ) . "\n";//先去掉首尾空格,再加上\n
  $fp = fopen($filename,"w+");  //只有一个人写,无须锁定
  fwrite($fp,$mooddata);
  fclose($fp);
}
务必注意如下:
配对标记名的结尾标记名应单独一行,前后均不允许输出字符...(例如空格等不可见但存在的字符..)


开始:
<?php
$countwis = 21;
$ishper4 = 100;
$countwish4 = 128;
$countwishper4 = 666;
echo <<<EOF
</li> <li><span class="lb">其他:</span><span class="scale blue"><img src="images/vote_blue.gif" width=eval($countwishper4*2.35) height="8" /></span><span class="scalenum">{$countwish4}(({$countwishper4}%)</span></li> </ul>
EOF;


?>


run:

jackxiang@Tencent:~/php> /usr/local/php/bin/php eval.php
PHP Warning:  Module 'sockets' already loaded in Unknown on line 0
</li> <li><span class="lb">其他:</span><span class="scale blue"><img src="images/vote_blue.gif" width=eval(666*2.35) height="8" /></span><span class="scalenum">128((666%)</span></li> </ul>

why:
width=eval(666*2.35)

我是想让php计算出来给width的,为什么???

<?
if(test case)
print<<<EOT
<....html code....>
EOF;
else
print<<<EOT
<....html code....>
   EOF; //没有顶格写会报错:Parse error: syntax error, unexpected $end in
?>


如上写法是不可以的,需要把EOF标识符顶格:

<?
if(test case)
print<<<EOT
<....html code....>
EOF;
else
print<<<EOT
<....html code....>
EOF;
?>



补充上月票哥的:

<<<EOT,这个后面不能有空格
EOT;首先,要顶格,其次,分号后不能有空格。

定界符这个东西功能很强大,特别是在引用多行HTML代码的时候,方便了PHP的开发者,但其实他的使用很妖异【没装过PHP5.3,所以不知道新的有没有变化】

1、heredoc syntax 里面只能是文字,凡是涉及到的变量都会被解析

2、不要妄想在定界符内赋值、计算等,如果是变量的相乘,请在外面解析完了放进来。。。

3、大括号要注意着使用,无论如何,大括号内不要同时出现多个变量

4、定界符标志后面不能有任何空格,如 <<<EOT,EOT;,这两个符号后都不能有任何字符,EOT;就是占一行,谁也不能抢它

就想到这么多。以后想到再写

顺便说明一下,PHP的文件还是有规范的。。
点击在新窗口中浏览此图片
例如

1、空文件,一般代码为<?php,如果就这样写,肯定报错,最少在<?php后面得加一个空格

2、文件结尾,上面说的定界符,就是一例,如果文件正好是EOT;结尾,后面又没有 ?> ,文件绝对报错,所以必须要在EOT;后再敲一个回车。。。。

妖啊。。实在是妖啊。。



彪哥的url:
http://www.neatcn.com/show-924-1.shtml
背景: 外包的代码里有很多windows换行符号,只想查找不想替换,于是对这个^M符号产生了新的看法。
没有:
cat content.php |grep -rin "\r\n"
有:
cat index.php |grep \r\n
$setData['username'] = $data->username;
但这都是不对的:
回忆未来-向东-Jàck  下午 05:40:02
怎么查找文件里有windows换行啊?兄弟。我硬是拦住了。
我想grep一整个目录,查到有windows换行的文件。
老罗新  下午 05:57:46
window换行是ctrl+V+M
grep -R */* "^M"
老罗新  下午 05:59:08
或者
find .  -type f|xargs grep "^M"
回忆未来-向东-Jàck  下午 05:59:36
我用了\r\n,我试试哈:
[root@localhost site]# find .  -type f|xargs grep "^M"
[root@localhost site]#
里面有一个文件有window换行,没找到呀,哈。

老罗 下午 06:11:54
俺这里是没有问题的。
find ./ -name a.c -type f |xargs grep "^M"
是不是那个"^M",你输入的不对?
—————————这玩意输入不能粘贴:注意:一跟三两种方法中的^M都是ctrl+v再ctrl+m后产生的———————
老罗新  上午 10:22:34
你输入的^M是使用ctrl+v+m敲出来的吧。
回忆未来-向东-Jàck  上午 10:23:10
不是。
我直接贴的你的。
老罗新  上午 10:23:42
怪不得。要先按着ctrl不松,然后依次按v和m
回忆未来-向东-Jàck  上午 10:24:18
哈哈,就是这个问题,好了。
那在vim里查找哩?
也这样可以吧,哈哈。
老罗新  上午 10:24:44
也一样
回忆未来-向东-Jàck  上午 10:25:56
复制粘贴都不行,非得这样整出来。
————
以前都是dos2unix,是想给外包找到这些文件,
这玩意太高深了,吼吼,多谢多谢,这方法好。
老罗新  上午 10:26:22
不客气

按Ctrl+v+m即可,复制粘贴有可能会提示找不到^M:
http://www.dbdream.org/?p=454

实践OD:
http://www.boyunjian.com/do/article/snapshot.do?uid=net.csdn.blog/wzb56/article/details/6860358
先生成一个换行(\n, 0x0A)和回车(\r, 0x0D)组合的文本
$ echo -en '12\n34\r56\n\r78\r\n' > tmp
以十六进制方式查看文本
$ od -t x1 tmp
0000000 31 32 0a 33 34 0d 35 36 0a 0d 37 38 0d 0a
实践:
[root@test od]# echo -en '12\n34\r56\n\r78\r\n' > tmp  
[root@test od]# ls
tmp
[root@test od]# od -t x1 tmp
0000000 31 32 0a 33 34 0d 35 36 0a 0d 37 38 0d 0a
0000016
————————————————————————————————
Linux编辑器vim中删除行尾的^M

有时候,在 Linux 中使用打开曾在 Windows 中编辑过的文件时,会在行尾看到 ^M 字符。看起来总是感觉很别扭。
删除方法如下:
在 Vim 的命令模式中输入 :%s/^M$//g 后,回车即会自动删除该文件中的所有 ^M 字符。
注意: ^M 要用 Ctrl + v,  Ctrl + m 来输入,M 后面的 $ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换。


OJ判题时发现一个问题:用%c读入的代码都会报wa。后来发现跟scanf有关。在linux下使用%c会读到\n和\r两个字符。所以需要将^M(也就是\r)字符删掉
删除方法不少。找了一个比较简单的。
要将a.txt里的^M去掉并写入b.txt,则使用如下指令cat a.txt | tr -d "^M" > b.txt
注意:语句中的^M是通过ctrl+V, ctrl+M输入的。特指/r字符
来自:http://hi.baidu.com/xyhouse/item/1598874e9bc2f80f6dc2f09c

linux 去除 windows 换行符:
解决方法:

1.通过sed命令解决

就是这个破命令废了我好大劲
1
  
sed -i -e "s/\cM//g"  filename

之前走了弯路虽然实现了但是总是觉得不爽才发现可以这么使用。之前写的命令是”s/[^A-Za-z0-9\"\)\_]$//g”其实这样也是可以的,原理很简单因为一般的匹配开始无法找到^M但是我发现通过正则匹配是可以匹配到的。因此上面那个公式的意思就是查找行尾除了字母数字符号以外的符号,其实就剩下控制符啦。很山寨哦
2.通过vim转换文件格式解决

这个方法虽然早就知道但是不适合我这次的需求但是写出来备档

:set fileformat?查看当前文档格式会显示为fileformat=[unix|dos|mac]其中过一种
把一个dos格式的文件转换成unix格式可以通过以下两步完成:
:set fileformat=unix
:write

3.通过tr命令解决

tr -d “[\015]” < file >/tmp/file

tr是个很好处理控制符号的程序但是没弄明白怎么修改当前文件,因此多数只能用作转换,file为源文件。/tmp/file为转换后的文件

其实很简单的问题解决起来也未必简单,希望这里的备档能给大家帮助
来自:http://www.wo1768.com/?p=1073


Windows和Unix的换行符处理^M


在windows上写好的文件,在Linux或者Unix下打开,每一行都会出多出^M这样的字符,这是因为Windows与*nix的换行符不同所致,如果是一般的文件影响倒是不大,但如果是写的脚本文件,那有可能就执行不了。对于行数比较少相对简单的文件来说,直接删掉然后保存就可以了。

1、但是如果这个文件要是有几百上千行,一行一行删除是要累死人的,有没有好的办法呢?
答案是:在Vi的命令模式中输入:%s/^M$//g后,回车即会自动删除该文件中的所有^M字符。
%指匹配整个文件,s是置换的意思,^M要分另用(Ctrl+V)和(Ctrl+M)来输入,M后面的$代表匹配行尾的内容,最后的g则表示每行中匹配到的内容都要置换。

2、如果我某一目录下有很多这样的文件怎么办?总不能每个文件都用Vi修改一次吧?
答案是:用unix2dos来解决。在Freebsd系统ports安装unix2dos很简单:
root# whereis unix2dosroot# cd /usr/ports/converters/unix2dos root# make install clean

安装完之后,就可以运行这个命令进行转换了:
root# dos2unix /root/tmp/*

3、如果我有很多目录及子目录都有这样的文件怎么办呢?别急,我们用find的递归命令处理:
root# find /root/tmp –type f –exec dos2unix {} \;

此命令之后,tmp目录下所有文件及子目录下的文件全部都被转换了。简单吧!

备注:unix2dos还有另外一个作用就是把unix格式的文件转化成Windows格式的文件,就是命令反过来:unix2dos ,比如我想看一下Apache的日志,就需用这个命令转换一下。

来自:http://hi.baidu.com/izhaohan/item/042709bd6b6136d084dd79d9
  EP 列模式 去掉自动换行。按住ALT键。然后使用左键进行拖动即可。不要觉得文字少,找这东西的人一看就应该明白了。不明白的就算了。

然后在选定的里面点右键--》格式--》填充选定行-插入  即可实现列编辑!
  EP 列模式 去掉自动换行。按住ALT键。然后使用左键进行拖动即可。不要觉得文字少,找这东西的人一看就应该明白了。不明白的就算了。

然后在选定【注意用:ALT键选定喔】的里面点右键--》格式--》填充选定行-插入  即可实现列编辑!
如将:***
前面加上如下的语句:
update Tbl_Card_ZQ set  FStatus = 0 where FCode='
然后可能需要做下面的操作呢,因为往往在写sql语句如需要批量替换:FCode='***  为: FCode='***';

update Tbl_Card_ZQ set  FStatus = 0 where FCode='***

update Tbl_Card_ZQ set  FStatus = 0 where FCode='***

update Tbl_Card_ZQ set  FStatus = 0 where FCode='***


Ctrl+h 勾选正则,点击一下倒立的三角形图标,选择换行:

\n$
替换为:
';

点全部替换:


update Tbl_Card_ZQ set  FStatus = 0 where FCode='***';

update Tbl_Card_ZQ set  FStatus = 0 where FCode='***';

update Tbl_Card_ZQ set  FStatus = 0 where FCode='***'


注意:最后一行没有替换掉,需要自己补全!
一. yum是什么
yum = Yellow dog Updater, Modified
主要功能是更方便的添加/删除/更新RPM包.
它能自动解决包的倚赖性问题.
它能便于管理大量系统的更新问题阅读全文
修改提交地址:

<script language="JavaScript" type="text/JavaScript">
function submituserinfo()
{  
  var action=document.form1.action;  
  //alert($('input[type=radio][name='kind'][checked]').size());
  var radios=$('input[name=kind]');
  if($('input[name=kind]:checked').size()==0)
  {
    alert("提示:请选择一个兑换的类别");
    return;
  }
  else
  {

    if($('input[name=kind]:checked').val()==81)  
    {

      $('#form1').attr('action','/con/user/act/showregisters').submit();
      
    }
    else
    {
      $('#form1').attr('action','/con/user/act/getyrb').submit();  
    }
  }

}
</script>

function submituserinfo()
{
  if($('#FTrueName').val()=="")
  {
    alert("真实姓名不能为空!");
    $('#FTrueName').focus();
    return false;
  }  
  var mobile = $('#FMobile').val();
  
  if(isNaN(mobile)||mobile.length != 11)
  {
    alert("请输入正确的手机号码");
    $('#FMobile').focus();
    return false;
  }  
   var strm = $('#FEmail').val()   //提交mail地址的文本框
   //var regm = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;//验证Mail的正则表达式,^[a-zA-Z0-9_-]:开头必须为字母,下划线,数字,
   if (strm == "")
     {
       alert("请检查邮箱输入是否正确!");
    $('#FEmail').focus();
    return false;
     }
  

  if($('#FAddr').val()=="")
  {
    alert("地址不能为空!");
    $('#FAddr').focus();
    return false;
  }
  
  if($('#FCode').val()=="")
  {
    alert("邮编不能为空!");
    $('#FCode').focus();
    return false;
  }
  
  
  document.form1.submit();
}
</script>



Demo:
(一)戴志康sns神话背后的悖论
这个帖子想谈一个靠sns能否留住一个网友的问题。
在说之前,请大家问自己一下,你平时用多少个IM软件?平时最经常去多少个网站?阅读全文
针对近期外界声称“腾讯开始试水SNS市场”这一说法,腾讯称,这是一个误会,因为“腾讯一直做的就是SNS”。

腾讯互联网业务系统执行副总裁吴宵光认为,由于facebook的兴起,人们以为像校内网那样填写真名、上传真照片才是真正的SNS,这是把SNS的定义狭窄化了。阅读全文
IE浏览器,随便点一个东西,都是从新窗口打开,怎么办啊?我是普通的XP自带的浏览器,问题补充:是很普通的XP自带的
我就是不想老是同新窗口打开啊
有办法吗?
答案:
呵呵 ,是ie7或者以上的版本吧?你想让点开的网页在新的选项卡中显示,是不是?
打开ie——工具——常规——选项卡——设置——遇到弹出窗口时——选择始终在新的选项卡中打开弹出窗口
或者:
打开ie——工具——常规——更改网页在选项卡的显示方式
开机之后把IBM的数字键(数字键盘)打开了,怎么关闭?有哪位对IBM的笔记本笔记熟悉点的,知道在哪里关闭这个程序,不然每次开机都要按SHIFT+Numlk键,很麻烦?
谢谢了!
问题补充:是shift+num.
在XP登录界面要输入密码时,关闭数字模式,然后直接点关机。
以后再进入登录界面,数字灯就不会自动亮了。  ----->这个亲自试过,确实可行!



最佳答案:
开机按F1进入BIOS 里面有这个选项,找找就行。
在bios里面有个num lock on/off的选项,选on就好了


华硕A8F笔记本按字母键显示字母上的数字关闭方法:
Fn+INS Num FK
各位大侠,现小弟想做一个220VAC输入2000W的温控器,但需用可控硅进行温度精确控制的,请问如何实现,以及如何对可控硅进行选取?如有相关资料也可以!!!请各位大侠不惜赐教,指点迷津!


如果对频率要求不高,只要用普通可控硅,要注意它的额定功率,额定电压,额定电压大于220v,如果输入正弦波电压,额定功率大于1274w 阅读全文
尽管"翻页Flash相册多彩版"功能全面,但是制作一个令人惊叹的的翻页相册却是十分简单的,您要做的仅仅是添加您的照片,并选择一个合适的模板就可以了。我们针对重大节日制作了生日,结婚,节日等模板,您也可以制作自己的模板以重复利用或共享给他人。阅读全文
早晨跟陈笛谈完盖茨的微软商业模式后,她对其软件产品的边际成本几乎为零这一点印象极深,原来一旦微软花成本开发出一种软件之后,每多卖一份Windows软件,其成本对微软来说接近零,每份260美元的售价几乎是纯利润,净赚。阅读全文
低调做人,你会一次比一次稳健;高调做事,你会一次比一次优秀。 阅读全文
在VMWARE下安装完了LINUX,默认的分辨率是800*600,在linux的"显示设置"里怎么改然后重新启动或注销都没有变化,要想改变linux的分辨率,必须安装vmware tools,具体过程如下:
1.在VM下拉菜单里有一选项Install vmware tools,你必须先启动你的虚拟机,不然选项是灰色的,不可用。启动之后点击他,在你的limux的/tmp目录下就会出现一个叫vmware-linux-tools.tar.gz的包。
2.解压缩这个包在当前的目录,会产生一个vmware-tools-distrib的目录。
3.在终端输入init 3,切换到命令行模式。
3.运行vmware-install.pl 文件,然后一路回车,完了之后会,成功了会有一个分辨率的列表出来,选一个分辨率即可;
4.重新启动x-windows即可:init 5
然后,开始享受吧。
分页: 236/339 第一页 上页 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 下页 最后页 [ 显示模式: 摘要 | 列表 ]