字符串能否用像文件一样被打开一个句柄进行读取?

aw325 2009-11-07 03:29:46
加精
例如:
$str="aaaaaaaaaaaaaaaaa\nbbbbbbbbbbbbbbbb\nccccccccccccccc";

open H ....
<H>;#aaaaaaaaaaaaaaaaa
...全文
646 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
大熊猫侯佩 2010-05-20
  • 打赏
  • 举报
回复
ruby可以用StringIO
yujinlai 2009-11-11
  • 打赏
  • 举报
回复
这个有点难,不是很懂呀
ad2222 2009-11-10
  • 打赏
  • 举报
回复
不能吧,都不是一回事
MTCD2008 2009-11-10
  • 打赏
  • 举报
回复
学习了!
wo0700160120 2009-11-10
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 laidasong2 的回复:]
将字符串当做文件的方式处理,很有创新。

字符串也有自己的存储空间,而文件是流的概念。

流的内部现实方式并不了清楚?另请高人?
[/Quote]
你应该可以自行解决吧。不过,首先,你得看下文件管理,一般的操作系统教材都讲有的。我的思路是,你就是需要一个入口地址跟容量记录,有了这两个你就可以很方便的进行操作了。所以,你的任务就是建立这的记录。
ahhh90h 2009-11-10
  • 打赏
  • 举报
回复
路过
abosorbin 2009-11-10
  • 打赏
  • 举报
回复
不在懂得
chenzhaochun 2009-11-10
  • 打赏
  • 举报
回复
纯粹路过~友情一顶
郑大钱 2009-11-09
  • 打赏
  • 举报
回复
将字符串当做文件的方式处理,很有创新。

字符串也有自己的存储空间,而文件是流的概念。

流的内部现实方式并不了清楚?另请高人?
tanfenyun 2009-11-09
  • 打赏
  • 举报
回复
我也来学习一下
w398760981 2009-11-09
  • 打赏
  • 举报
回复
ythh
Prison2Break 2009-11-09
  • 打赏
  • 举报
回复
看看
fibbery 2009-11-09
  • 打赏
  • 举报
回复
一个东西的魅力就在于让人感到惊喜,原来我也不知道竟然可以将字符串当文件打开。但perl实现了。这样,我们处理磁盘文件就可以和处理内存字符串统一对待了。
xing_yun 2009-11-09
  • 打赏
  • 举报
回复
have a look
bbschen1988 2009-11-08
  • 打赏
  • 举报
回复
来瞧瞧啊
lyz880524 2009-11-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 qiao246 的回复:]
看看
[/Quote]

看就看被
qiao246 2009-11-08
  • 打赏
  • 举报
回复
看看
wo0700160120 2009-11-08
  • 打赏
  • 举报
回复
LZ参考操作系统的文件处理试下。我不是做这个的,但是我觉得文件的组织形式这个思想可以参考。
ren197836yuan 2009-11-08
  • 打赏
  • 举报
回复
看看。。。。
cocolifeMJJJW 2009-11-08
  • 打赏
  • 举报
回复

在 PASICAL 中

VAR
S:STRING;
BEGIN
READLN(S);
END.
然后进行操作!
加载更多回复(10)
目录 第一章简介 问题与答案 这本书适合你吗? 为何有这么多的脚注? 关于习题和解答? 习题前标的数字是什么意思? 如果我是Perl讲师? “Perl”这个词表示什么意思? Larry为什么要创造Perl? Larry干吗不用其他语言? Perl算容易,还是算难? Perl怎么会这么流行? 现在的Perl发展得怎么样了? 哪些事情最适合用Perl来做? 哪些事情不适合用Perl来做? 如何取得Perl? CPAN是什么? 如何得到Perl的技术支持? 还有别的技术支持方式吗? 如果发现Perl有bug,我该怎么办? 我该怎么编写Perl程序? 一个简单的程序 程序里写的是什么? 我该如何编译Perl程序? 走马观花 习题 第二章标量数据 数字 所有数字的内部格式都相同 浮点数直接量 整数直接量 非+进制整数的直接量 数字操作符 字符串 单引号内的字符串直接量 双引号内的字符串直接量 字符串操作符 数字与字符串之间的自动转换 Perl的内置警告信息 标量变量 给变量取个好名字 标量的赋值 双目赋值操作符 用print输出结果 字符串中的标量变量内插 借助代码点创建字符 操作符的优先级与结合性 比较操作符 if控制结构 布尔值 获取用户输入 chomp操作符 while控制结构 undef值 defined函数 习题 第三章列表与数组 访问数组中的元素 特殊的数组索引 列表直接量 qw简写 列表的赋值 pop和push操作符 shift和unshift操作符 splice操作符 字符串中的数组内插 foreach控制结构 Perl最喜欢用的默认变量:$_ reverse操作符 sort操作符 each操作符 标量上下文与列表上下文 在标量上下文中使用产生列表的表达式 在列表上下文中使用产生标量的表达式 强制指定标量上下文 列表上下文中的 习题 第四章子程序 定义子程序 调用子程序 返回值 参数 子程序中的私有变量 变长参数列表 改进的&max子程序 空参数列表 关于词法(my)变量 use strict编译指令 return操作符 省略与号 非标量返回值 持久化私有变量 习题 第五章输入与输出 读取标准输入 来自钻石操作符的输入 调用参数 输出到标准输出 JNprintf格式化输出 数组和printf 文件句柄 打开文件句柄 以二进制方式读写文件句柄 有问题的文件句柄 关闭文件句柄 用die处理致命错误 用warn输出警告信息 自动检测致命错误 使用文件句柄 改变默认的文件输出句柄 重新打开标准文件句柄 用say来输出 …… 第六章哈希 第七章漫游正则表达式王国 第八章用正则表达式进行匹配 第九章用正则表达式处理文本 第十章其他控制结构 第十一章Perl模块 第十二章文件测试 第十三章目录操作 第十四章字符串与排序 第十五章智能匹配与given—when结构 第十六章进程管理 第十七章高级Perl技巧 附录
文件是MyFll.fll文件不可分割的一部分,包含对MyFll函数库全部说明及示例。 MyFll是专为Microsoft Visual FoxPro设计的扩展库,部分函数来自任明汉(RMH myF1论坛)前辈提供的myDll代码翻译而成,由于很多功能利用VFP处理比较烦锁,或无法实现,使用此库可有效解决VFP的弱项。部分与Win32Api同名的函数,是Win32API的封装。部分函数取自网上开源算法,在相关函数中均有注明。 此源代码使用VC6 sp6开发,采用VFP9 Sp2的库文件,理论上可以应用于VFP6 7 8 9版本。 此库在第一次打开时自动添加智能感应功能已关闭。请在打开后,使用FllAddFoxCode()向智能感应库添加所有的函数原型(需要VFP7以上),此库存所有函数使用VFP推荐的命名规则,一般可以根据函数名和知能感应的提示参数来推测参数及返回值。 开发环境可以使用FllHelp()函数来检查函数信息: 取得此版本函数个数:FllHelp() 取得第x个函数的信息:?FllHelp(x) 显示提示信息:?FllHelp(x,.T.) 显示指定函数的信息:FllHelp("SendMessage",.T.) 显示Fll的版:?FllGetVersion() 添加智能感应代码:FllAddFoxCode() 版本信息:由于不定期更新,请及时核对版本(右键属性),版本为X.X.X.X,第一位为主版本号,第二位为函数个数,第三位为发布的年份,第四位为日期。当前版本为:1.179.9.811 版权:你可以自由使用、散发此函数库及此帮助,包括应用于你的商业软件中。在转发时应注意帮助文件于函数库和帮助同在。不得对软件进行破解、反编译等破性或逆向工程。MyFll作者不承担可能由于技术原因或失误给你带来的错误或损失。发现错误可以与作者取得联系共同改进。 感谢:我的帮助论坛http://www.myf1.net/bbs 梅子论坛 http://www.meizvfp.com/bbs 感谢:各位为Myfll做测试、编写帮助的热心网友。 作者:木瓜 ljyit@163.com 函数列表: 硬件相关函数: GetDiskSerial        读取指定硬盘的序列号 GetCpuId           读取CPU的序列号 GetMAC            读取网卡的MAC地址 GetVolumeNumber       读取指写磁盘的卷标 IsDiskInDrive        检查指定磁盘是否就绪 GetPort           读取系统的串口、并口 ComOpen           打开串口 ComWrite           向串口输出信息 ComRead            从串口读取信息 ComClose           关闭串口 GetGUID            获取全球唯一ID AEthernet          枚举网卡的所有信息 加密解密函数: MD5File           计算一个文件的MD5效验和 MD5String          计算一个字符串的MD5效验和 CRC32File          计算一个文件的CRC32效验和 CRC32String         计算一个字符串的CRC32效验和 des             采用DES算法加密或解密一个字符串,长度为8位 des16            采用DES算法加密或解密一个字符串,长度为16位 des24            采用DES算法加密或解密一个字符串,长度为24位 EnDeString          双向加密解密字符串的函数 Encrypt           双向加密解密字符串 RSACalc           RSA计算函数 RSAGen            生成随机RSA密钥函数 RSACmp            比较两个十六进制值是否相等 URLEncode          URL编码 URLDecode          URL解码 QPEncode           Quoted-Printable QP编码 QPDecode           Quoted-Printable QP解码 压缩解压函数: Zip              压缩文件 UnZip             解压文件 UnZipFile           解压单个文件           ZipInfo            测试一个文件是否在压缩文件中存在 ZipFileToStr         将压缩文件中的文件解压到变量 ZipAFile           将zip文件中的文件信息生成的数组 CompressString        压缩一个字符串 DeCompressString       解压字符串 数据库: CursorToStr         将Cursor生成变量 ChangesToStr         将Cursor的变动情况生成变量         StrToCursor         将变量还原为Cursor AppendFromStr        将变量中的表追加到指定表中 ACursorList         将变量中的表信息生成数组 ACursorFields        将变量中的指定表的字段信息生成数组 CRC32Record         计算一条记录的CRC32值 SQLCallBack         SQL回调函数载入 SQLCallReset         SQL回调函数卸载 PackMDB           压缩修复Access数据库 ReadMemo           读取vfp中大于16M的备注字段 网络相关函数: DownFile           从internet上下载文件到本地 DownFileX           线程方式从网上下载一个文件 HttpGetFileSize       读取internet上的文件大小 HttpPostData         向http服务器Post数据 HttpOpen           打开一个Internet句柄 HttpAddParms         为Http句柄添加一个参数 HttpSend           发送Http句柄中的Post数据 HttpClose          关闭Http句柄 FtpDownFile          从FTP服务器下载文件 FtpUploadFile        向FTP服务器上传文件 FtpConnect          连接FTP服务器 FtpDisconnect        断开FTP服务器连接 FtpAFile          枚举Ftp中的所有文件 FtpCreateDir        在FTP服务器上创建一个文件夹         FtpSetCurrentDir      设置当前的文件夹 FtpDeleteDir        删除FTP服务器上的文件夹 FtpDelFile         删除FTP服务器上的文件 FtpRename          重命名FTP服务器上的文件 FtpFOpen          打开FTP服务器上的文件 FtpFClose         关闭FTP服务器上的文件 FtpFRead          读取FTP服务器上的文件 FtpFWrite          写入FTP服务器上的文件 FtpSetPasv          设置FTP被动工作模式 ShareAdd           在局域网共享文件夹 ShareDel           删除共享文件夹的共享 ShareMapDrive         映射网络驱动器 ShareDelDrive         删除映射的网络驱动器 GetLocalIP          读取本机IP DomainToIP          转换域名为IP地址 DialUp            建立拨号连接 DialDown           断开拨号连接 GetSqlServer         列出所有网络上的SQL Server IpToMAC           根据IP得到MAC地址 邮件函数: SmtpCreate          创建一个SMTP发送邮件的句柄 SmtpNewMail         在内存中创建邮件内容,等待发送 SmtpSend           发送邮件 SmtpGetLastError       检测邮件最后的错误 Pop3Create          创建一个POP3接收邮件的句柄 Pop3Close          关闭句柄 Pop3AMailList        枚举POP3服务器上的邮件数量 Pop3DeleteMail        删除POP3邮件服务器上的邮件 Pop3GetMail         下载一封邮件 Pop3GetMailHeader      下载邮件头 Pop3DeleteMail        删除服务器上的邮件 打印相关函数: PaperAdd           添加自定义纸张并返回ID PaperDel           删除自定义纸张 PaperInfo          读取所有纸张信息或指定纸张信息 APaper            枚举所有纸张生成数组 GetDefaultPrinter      取得默认打印机的名称 SetDefaultPrinter      设置默认打印机 PrinterOpen         启用一个打印任务 PrinterOutPage        打印页对像 PrinterClose         结束打印 常用转换函数: ToPY             生成指写字符串的拼音首字 NToC             数字转人民币大写 hzbh             计算指定字符串的汉字笔划 StringToDword        将高底位存放的字符串,转换为字符型 DwordToString        将整型数值转换为字符型数值 NumConver          进制转换函数,能够将一个数字转换为2至36进制的字符串 ConverNum           将指定进制的字符串转换为数值型 GB2312ToBIG5         简体转繁体 BIG5ToGB2312         繁体转简体 FormToBmp          将表单保存为BMP图片 RectToBmp           指定屏幕区域保存为bmp图片 StrReverse          指定屏幕区域保存为bmp图片 ImageConver         转换图片格式 FTrim            删除字符串中除指定字符以外的字符 Thumbnail          缩放图片 注册表读写函数: regRead           读取注册表中的设置 regWrite           向注册表中写入设置 regDelKey          删除注册表中的分支 regDelValue         删除注册表中的设置 ini文件读写函数: iniRead           从ini文件读取设置 iniWrite           向ini文件中写入一个设置 iniSet            设置默认的数据段和ini文件 iniSetSection        设置默认的数据段 iniSetFileName        设置默认的ini文件 系统托盘 SysTrayAdd          向系统托盘添加一个图标 SysTrayEdit         修改系统托盘的图标 SysTrayDel          删除系统托盘中的图标 HotKeyAdd          向系统注册一个热键 HotKeyDel          删除向系统注册的热键 SysTrayShowMessage      显示托盘消息 文件操作 CopyFiles          复制文件 MoveFiles          移动文件 DeleteFiles         删除文件 CreateShortcut        创建快捷方式 GetIcon           释放exe或dll中的图标 其它: SetVFPEvents         设置MYFLL内部函数回调功能 SetDateTime         设置Windows系统时间 ChangEres          更改屏幕的分辨率 idleLoad           开始加载空闲检测 idleSeconds         读取系统空闲时间 idleUnload          卸载空闲检测 KillApp           终止指定进程 KillAllApp          终止所有进程,但排除指定标题的进程 KillProcessByName      根据程序文件名杀死一个进程 FindAllFile         查找指定文件夹下的所有文件 IsNum            检测函数是否是数字 CheckProcess         检测主程序是否重复运行 ProcLoad            载入一个VFP函数,取得函数地址 ProcUnload          卸载函数 MemRead           读取指定地址的内存 MemWrite           写入指写内存 PushError          系统错误处理压栈 PopError           系统错误处理出栈 Format            格式化输出字符串(类C语言) CreateLink          创建文件关联 DesktopHide         隐藏桌面 SystemKeySet         禁用系统键 RegisterFile         注册文件名解除文件注册 封装过的Win32 API函数: FindWindow          查找指定窗口的句柄 SendMessage         向指写窗口发送指定消息 PostMessage         将消息投递到指定句柄的消息队列 ShowWindow          显示指定窗口 ShowWindowAsync       显示指定窗口 SetWindowLong        设置窗口的扩展样式 SetLayeredWindowAttributes  设置窗口效果 SetForegroundWindow     激活指定窗口使这成为最前面的窗口 ShellExecute         调用系统关联,打开一个文件 ShellExecWait        调用一个程序,并等待执行结束 SuspendThread        暂停一个线程 ResumeThread         恢复一个线程 Beep             使电脑内喇叭发出beep声 ExitWindowsEx        退出Windows Sleep            程序挂起nMilliseconds毫秒 ExitProcess         终止当前进程 GetLastError         返回最后的错误号码 SetParent          设置窗口的父窗口 UpdateWindow         更新窗口
Perl语言入门(第五版),本书是为中文版本,英文原版下载地址:http://download.csdn.net/source/2801846。 原书名: Learning Perl, 5th Edition;原出版社: O'Reilly Media, Inc. ;作者: Randal L.Schwartz Tom Phoenix brian d foy;译者: 盛春 蒋永清 王晖;出版社:东南大学出版社 内容简介 《perl语言入门》也就是大家所称道的“小骆驼书”,是perl程序设计人员最为仰赖的启蒙读物之一。自1993年以来,这本书就成为热卖的perl语言教学材料,而此次新版又涵盖了perl 5.10的最新变化。本书的诸位作者自1991年起就开始在stonehenge consulting从事perl教学工作,多年的课堂教学实践和积累下来的点滴经验,形成了本书特有的教学节奏,以及务实的知识点取舍。随文而至的习题,可以让你及时巩固各种概念,强化理解和吸收。本书内容涵盖:. ·perl的变量类型 ·子程序 ·文件的操作 ·正则表达式 ·字符串的操作.. ·列表与排序 ·进程的管理 ·智能匹配 ·第三方模块的使用 有些人只是想要完成任务,perl语言为此而生。perl的最初目标只是为了协助unix系统管理员完成日常繁琐的文本数据处理工作。时至今日,perl已发展成为一套功能齐备的程序语言,几乎可以在任何操作系统上完成各种任务——从简单的命令行工具到web应用开发,及至生物信息学、金融数据分析等等不一而足。其他书籍可能会着重于教会你使用perl语言来编程,可本书不同,我们是想要你成为一名真正的perl程序员。... 目录 前言. 第1章简介 问题与答案 “perl”这个词是什么意思? 如何取得perl? 我该怎么编写perl程序? 走马观花 习题 第二章标量数据 数字 字符串 perl内建警告信息 标量变量 用print输出结果 if控制结构 获取用户输入 chomp操作符 while控制结构 习题 第三章列表与数组 .访问数组中的元素 特殊的数组索引值 列表直接量 列表的赋值 字符串中的数组内插 foreach控制结构 标量上下文与列表上下文 列表上下文中的(stdin) 习题 第四章子程序 定义子程序 调用子程序 返回值 参数 子程序中的私有变量 长度可变的参数列表 关于词法(my)变量 use strict编译命令 return操作符 非标量返回值 持久性私有变量 习题 第五章输入与输出 读取标准输入 钻石操作符输入 调用参数 输出到标准输出 使用printf格式化输出 文件句柄 打开文件句柄 用die处理严重错误 使用文件句柄 复用标准文件句柄 使用say来输出 习题 第六章哈希 什么是哈希? 访问哈希元素 哈希函数 哈希的典型应用 %env哈希 习题 第七章漫游正则表达式王国 什么是正则表达式? 使用简易模式 字符集 习题 第八章以正则表达式进行匹配 以m//进行匹配 可选修饰符 锚位 绑定操作符=~ 模式串中的内插.. 捕获变量 通用量词 优先级 模式测试程序 习题 第九章用正则表达式处理文本 用s///替换 可选修饰符 split操作符 join函数 列表上下文中的m// 更强大的正则表达式 习题 第十章其他控制结构 unless控制结构 until控制结构 条件修饰词 裸块控制结构 elsif子句 自增和自减 for控制结构 循环控制 三目操作符?: 逻辑操作符 习题 第十一章perl模块 寻找模块 安装模块 使用简单模块 习题 第十二章文件测试 文件测试操作符 localtime函数 按位运算操作符 习题 第十三章目标操作 在目录树中移动 文件名通配 文件名通配的另一种语法 目录句柄 递归的目录列表 操作文件与目录 删除文件 重命名文件 链接与文件 建立及移除目录 修改权限 更改隶属关系 修改时间戳 习题 第十四章字符串与排序 在字符串内用index搜索 用substr处理子串 高级排序 习题 第十五章智能匹配与given-when结构 智能匹配操作符 智能匹配操作的优先级 given语句 多个项目的when匹配 习题 第十六章进程管理 system函数 exec函数 环境变量 用反引号捕获输出结果 将进程视为文件句柄 用fork开展地下工作 发送及接收信号 习题 第十七章高级perl技巧 用eval捕获错误 用grep来筛选列表 用map对列表进行转换 不带引号的哈希键 切片 习题 附录a习题解答 附录b超越小骆驼...

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧