社区
Linux/Unix社区
帖子详情
如何一次从文件中读入一行
WaterWalker
2007-01-02 12:05:37
文件是shell可执行脚本。
要求读入的数据符合shell解释规则。
比如:
aaa \
bbb
那么读入的行应该是 aaa bbb
...全文
625
7
打赏
收藏
如何一次从文件中读入一行
文件是shell可执行脚本。 要求读入的数据符合shell解释规则。 比如: aaa \ bbb 那么读入的行应该是 aaa bbb
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
WaterWalker
2007-01-08
打赏
举报
回复
明确了自己的需求,没有实现不了的。
------------
要看代价。我们要自己做OS吗?
fzzzf
2007-01-06
打赏
举报
回复
明确了自己的需求,没有实现不了的。
WaterWalker
2007-01-06
打赏
举报
回复
\\表示\
\作为转义符
程序可以用c++,stl
只要知道\转义的所有情况,要写程序不难。
但是测试就麻烦了。是一大工作
有现成的程序最好。
SmallBigCat
2007-01-04
打赏
举报
回复
fgets
huailairen
2007-01-02
打赏
举报
回复
不懂楼主意思
x86
2007-01-02
打赏
举报
回复
你自己的解释已经定义好了程序的逻辑。实现起来不难,像perl这样的脚本语言可以按行读,很容易处理你的要求。
如果是C语言,简单的办法是一次把文件读到内存,用几个指针就可以处理了。大致的代码如下(注意程序并未调试,可能有错误):
char* buffer;
int filelen;
char* buffer_end = buffer + filelen;
buffer = (char*)malloc(filelen);
/* read file data to buffer*/
char* line_start;
char* line_end;
char line_buffer[1024]; /* maximum line length is 1024 */
line_end = line_start;
while(line_end < buffer_end) {
int line_offset = 0;
line_start = line_end;
while(line_end != '\n') line_end++;
if(line_end >= buffer_end ) break;
if (line_end 之前最后字符是'\') {
strncpy(line_buffer + line_offset, line_start, line_end - line_start);
line_offset += line_end - line_start; // 此处判断是否超过line_buffer大小
}else {
处理line_buffer并清空
strncpy(line_buffer + line_offset, line_start, line_end - line_start);
}
}
WaterWalker
2007-01-02
打赏
举报
回复
不懂楼主意思
-------------
举个例子
对于shell脚本,如果一行的末尾是 \
那么表示该行还未结束。
字节码(ASM/Javassit/AspectJ)框架实战
通过字节码操作框架,我们可以从类文件
中
读入
信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。而ASM和Javassit是其
中
比较优秀的框架。通过本课程你能够系统的学习ASM、Javassit框架的使用。
C、C++
一次
将整个文件
读入
内存
1.问题描述: C和C++的初学者经常采用
一行
一行
读入
文件的办法对文件数据进行处理。但是经常会有一些情况需要将一个文件整体
一次
读入
内存处理。而C和C++库
中
并没有提供直接
一次
读入
文件全部数据的函数。 2.解决方法: 目前给出C和C++的解决方案,下面两个程序只是用于演示,不过这些代码已经很容易改写成想要的函数了。 解决这个问题的思路是: 1.由于要将文件完整
读入
,所以必须使用二进制方式打开(若文本......
java从文本文件
中
一次
读入
一行
数据进行处理
转:http://blog.chinaunix.net/uid-20804770-id-3048513.html import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFo
C++
从文件
中
读入
多行数据
C++
从文件
中
读入
多行数据std::ifstream练习题C++
中
文件的读取操作,如何读取多行数据,如何一个一个的读取数据 std::ifstream 来自std::ifstream 常用的成员函数如下 Public member functions 函数 功能 (constructor) Construct object and optionally open file (public member function ) open Open file (public member f
c++
读入
一行
数据
读入
一行
int(只知道
读入
一行
,不知道具体的个数时使用) int t,i=0; while(cin>>t){ a[i++]=t; if(cin.get()=='/n')break; }
读入
一行
string(当要
读入
的数据
中
含有空格时使用) string s; getline(cin,s); ...
Linux/Unix社区
23,115
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章