全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何从字符串中取数组 从字符串中取数据的问题,如果取固定个数的数值,利用sscanf就可以实现;但倘若遇到从字符串中取数组,且数组个数不固定的情况比如构造一个矩阵,其值从文件set.txt中读取1 2 3 4 5 6 7 8 9此文件中含有3*3的矩阵,当然也可能是n*n,那如何才能灵活地从文件中读取数据,构造各种大小的数组呢?经过查找,我发现了strsep函数,*函数:char * strtok_r (char *newstring, const char *delimiters, char *save_ptr) 就象strtok函数一样,strtok_r函数能够连续调用,以将一个字符串分解成为几个token。不同的时下一个strtok_r函数不会破坏这个函数的状态。因为它提供了一个指向不同函数的*save_ptr指针。 这个函数是POSIX.1b提出的建议,它被许多系统支持,以提供多线程的字符分解。 函数:char * strsep (char *string_ptr, const char *delimiter) 另一个可重入的方法是取消了第一个参数。初始时的指针由用户指定,后面调用的指针则由delimiter决定。返回下一个被分解的token。 这个函数是在4.3BSD系统中引入的,因此被广泛使用着。以下是一个使用strsep的实例: #include #include .char string = words separated by spaces - and, punctuation!;const char delimiters = .,;:!-;char *running;char *token;.running = string;token = strsep (&running, delimiters); /* token = words */token = strsep (&running, delimiters); /* token = separated */token = strsep (&running, delimiters); /* token = by */token = strsep (&running, delimiters); /* token = spaces */token = strsep (&running, delimiters); /* token = and */token = strsep (&running, delimiters); /* token = punctuation */token = strsep (&running, delimiters); /* token = NULL */*这个说明不是很明确,我自己写了个程序来使用这个函数#include #include int main() FILE *fp; char str20,*tmp,*substr=a; int t,data5; const char delimiters= ; Matrix m; ListMatrix l; fp = fopen(set.txt,r); while(fgets(str,20,fp)!=NULL) substr = str; int i=0; token = str; while(token!=NULL) token = strsep(&substr, ); if(*token=n) break; datasi+=atoi(token); m.setValue(datas); l.insert(m); fclose(fp); return 0;此程序每从文件中取到一行数值,将其置入一个数组内,再将此数组置入矩阵中.这里要注意这样几个问题:1,每行数值后需要多加一个分隔符,否则会取到n值,在linux下,文本是这样构成的 a b cn 因此,若不在最后加空格,最后一个token取到的为cn,因此取要在最后一个字符后加一个分隔符,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《移动应用开发技术与实战(ArkTS)》课件 项目11-鸿蒙应用发布
- 建筑外墙渗漏诊治与修复手册
- 建筑工程专项施工方案
- 建筑施工扣件式钢管脚手架技术方案
- 机械设备维护保养实施方案
- 海绵城市改造施工方案
- 供排水运行维护手册
- 2026年汽车涂料市场创新驱动研究报告
- 工程项目主要材料核算报告
- 工程施工阶段造价控制方案
- 超声诊断甲状腺结节钙化
- 牛羊屠宰兽医卫生检验人员考试题库及答案解析
- 2026中国铜箔行业技术路线选择与产能扩张分析报告
- 2026智能工厂梯度培育行动专项申报解读及建设方案
- 枸杞中枸杞多糖含量的测定 高效液相色谱法 征求意见稿
- 真空计原理培训
- 料场变更施工方案(3篇)
- 国有企业股份转让可行性研究报告
- 杭州绿城·留香园绿城特色化社群建立与运营
- 神经重症患者脑电图监测解读
- 新版《检验检测机构资质认定评审准则》(2023版)内部审核检查表示例
评论
0/150
提交评论