全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何从字符串中取数组 从字符串中取数据的问题,如果取固定个数的数值,利用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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 考研政治(马克思主义基本原理概论)模拟试卷283
- 事业单位湖北省事业单位司法行政岗笔试全真模拟试卷含答案
- 会计专业技术资格初级经济法基础模拟试卷263
- CCC认证必知试题及答案梳理
- 2027届陕西省宝鸡市名校九年级数学第一学期期末监测试题含解析
- 吉林省长春市九台区2027届九上数学期末复习检测试题含解析
- 湖北省宜昌市2027届七上数学期末监测模拟试题含解析
- 友谊与交往主题班会
- 2027届广东省揭阳市榕城区空港经济区七上数学期末监测试题含解析
- 中考语言题型及答案全解析
- PQE试用期述职报告
- 供应室护理不良事件
- 克令吊司机培训课件
- 2025年党史党建知识测试题库100题(含标准答案)
- 就业形势与政策课件
- 5.3《阳燧照物》(课件)-【中职专用】高二语文(高教版2023拓展模块下册)
- DBJ50-T-151-2012全轻混凝土建筑地面保温工程技术规程
- 水泥销售人员培训
- 建筑消防设施检测原始记录
- 2024年私人借款合同范例
- 2024年秋新冀教版一年级上册数学 1.2.1 加法与减法的初步认识 教学课件
评论
0/150
提交评论