c语言如何分割字符串并将结果放入数组?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言如何分割字符串并将结果放入数组?相关的知识,希望对你有一定的参考价值。
比如
输入 1,5,7,9,4
回车后得到 a[1]=1 a[2]=5 a[3]=7 a[4]=9 a[5]=4
比如
scanf(“%d,%d....”,a,a+1,a+2...)
如果已经是字符串了,比如str,那么用sscanf
比如sscanf(str,“%d,%d....”,a,a+1,a+2...)追问
我的想法是
输入不固定数量的数据,比如
输入14,2,70
得到 a[1]=14 a[2]=2 a[3]=70
或者
输入29,61
得到 a[1]=29 a[2]=61
其中输入多少个数 不是固定的3个或2个,可以无限多。
调用scanf函数读入字符串
遍历字符串的每一个字符,记录字符串中数字的个数
根据数字的个数调用malloc函数创建动态数组a
再次遍历字符串并将数字字符减去'0',把得到的值填入数组a
大一新生,,还没学到指针那块,能否用其他方法?
java读取文件中多个数据,放入不同数组
李开复 ,1197161814 ,14542223 ,326 ,3465874172750975 ,255 ,400 ,
Laini的袋鼠妈妈 ,2734949925 ,10364 ,32 ,3465897979167134 ,14 ,3 ,
假设如上,分别是人名,id,粉丝数,关注数等等,需要分别读取这些数据放入不同数组,该怎么实现
第二步,拿到第一步读取的字符串列表,列表的size就表示多少条数据,循环遍历这个列表,之后读取到每一行数据,就使用String类的split方法,分割字符串,分割字符为:,逗号,分割后得到一个string数组,接下来就是依次拿到数组的元素然后存到你要存的地方了,怎么存看你需求了,你题目也没说清,自己琢磨吧 参考技术A 读取每行的数据(数据是每行存储),然后按逗号切割。保存最好还是使用对象Object。
一般的做法是 ObjectOutStream/ObjectInputStream 输入输出到文件中。
BufferedReader br = new BufferedReader(new FileReader(new File("")));
String str="";
while( (str = br.readLine())!=null)
String[] aa = str.split(",");
.....................................
追问
但是我想不同类型的数据存到不同的数组里,有很多行这样形式的数据,每行7个数,就是要建立7个数组,把每行的7个数分别放到7个数组里,而且数据别较多,想用arraylist实现成么
追答不好取数据,如果要你取某个人的数据,你要查询7个arraylist,还要保证你知道他的位置在哪里。不如用List
追问不是,我是奉命做新浪微博api的一个实践,但是才大一啊,底子太薄,我不是要查询,人名,id,粉丝数,关注数,是要复制到另一个文件里,微博地址的id,是要用做函数参数来获取评论和转发数,所以存到arraylist里,然后再写到另一个文件里就行了
追答不错嘛 。。。大一就开始自己动手编程了。那也很简单,数据切割出来分别插入不同的文件就行了。BufferedReader/BufferdWriter ,可以选择不同的IO对象。
追问承蒙老师看得起,呵呵,能稍微具体点么,谢了
参考技术B结果长什么有效果图吗,
你使用
String s = "a,b,c";String[] arr = s.split(",");
看看是不是你要的效果
具体方法:
import java.util.Arrays;
public class Temp
public static void main(String[] args)
String InitProducts[] = "商品01","商品05","商品04","商品02","商品03";
String deleteProducts[] = "商品04","商品02";
String newProducts[] = new String[InitProducts.length - deleteProducts.length];
int count = 0;
for(int i=0;i<InitProducts.length;i++)
boolean flag = true;
String temp = InitProducts[i];
for(int j=0;j<deleteProducts.length;j++)
if(temp.equals(deleteProducts[j]))
flag = false;
break;
if(flag)
newProducts[count++] = temp;
System.out.println(Arrays.toString(newProducts));
参考技术D 先新建7个数组变量;
按行读取文件,每一行当作一个文本,然后以逗号为分隔符进行分割,得到临时数组变量,然后将临时数组变量中的每个元素放入对应数组中即可
以上是关于c语言如何分割字符串并将结果放入数组?的主要内容,如果未能解决你的问题,请参考以下文章
C 语言二级指针案例 ( 字符串切割 | 返回 二维数组 作为结果 )