亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 能否只open一次,讀寫文件? [打印本頁]

作者: yashiro_lj    時(shí)間: 2009-05-16 14:50
標(biāo)題: 能否只open一次,讀寫文件?
如題,能否只open文件一次,做到讀寫該文件?
作者: yashiro_lj    時(shí)間: 2009-05-16 14:54
不是在文件末尾附加內(nèi)容,而是要修改文件本身的內(nèi)容之后再寫入,有沒有只open一次辦法?
作者: MMMIX    時(shí)間: 2009-05-16 15:01
原帖由 yashiro_lj 于 2009-5-16 14:54 發(fā)表
不是在文件末尾附加內(nèi)容,而是要修改文件本身的內(nèi)容之后再寫入,有沒有只open一次辦法?

有?纯 seek/tell 的用法。
作者: yashiro_lj    時(shí)間: 2009-05-16 15:18
標(biāo)題: 回復(fù) #3 MMMIX 的帖子
多謝MMMIX,我去看看seek/tell :)
作者: schnell18    時(shí)間: 2009-05-19 16:22
我也遇到過類似問題,下面一段代碼供你參考:
    open (my $fh, "+<$area_status_file")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or die "Can't open $area_status_file due to!\n";

&nbsp;&nbsp;&nbsp;&nbsp;$area = undef;
&nbsp;&nbsp;&nbsp;&nbsp;# synchronized access to the area file for multiple processes

&nbsp;&nbsp;&nbsp;&nbsp;my @areas;
&nbsp;&nbsp;&nbsp;&nbsp;while(<$fh>) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chomp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push @areas, $_;
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;for(my $i = 0; $i < scalar(@areas); $i ++ ) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;($break, $area, $new_line) = $coderef->($areas[$i]);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$areas[$i] = $new_line;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;last;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} if $break;
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;#reposition the pointer to start of file after copying

&nbsp;&nbsp;&nbsp;&nbsp;seek($fh, 0, SEEK_SET);
&nbsp;&nbsp;&nbsp;&nbsp;foreach my $line (@areas) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print $fh "$line\n";
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;close $fh;

作者: yashiro_lj    時(shí)間: 2009-05-19 16:39
多謝schnell18 :)




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2