c语言-关于字符串保存到一个一维数组

问题描述

关于字符串保存到一个一维数组

利用sprintf(list,"d:sift(%d).jpg",i);

i的值从1到100

要用一个数组来访问这些字符串

如ch[0]的话访问d:sift(0).jpg
如ch[1]的话访问d:sift(1).jpg
如ch[2]的话访问d:sift(2).jpg
......
如何实现?

解决方案

使用字符的数组的数组
或者说指向"指向字符的指针"的指针

解决方案二:

你需要数组的数组
char ch[100][];

解决方案三:

你需要二维数组。char a[字符串大小][字符串个数]

解决方案四:

你需要使用二维数组或者指针数组,可以尝试一下

解决方案五:

需要定义一个二维数组

解决方案六:

 char*  ch[100];
char list[2048];

int total = 0;
for (int i = 0; i < 100; i ++)
{
    int len = snprintf(list + total, 2048 - total, ".....", ....);
    ch[i] = list + total;
    total += len + 1;
}

大致这个样子吧。

解决方案七:

要用二维数组,一维数组得用指针数组,申请和释放内存麻烦。
char strlist[100][24];
int i = 0;
while(i < 100)
{
sprintf(strlist[i], "d:sift(%d).jpg", i);
}

解决方案八:

把list也可以做成一个数组就行了

解决方案九:

二维数组,char ch[100][]; 。。。

时间: 2024-11-08 19:37:13

c语言-关于字符串保存到一个一维数组的相关文章

编程问题-我有一些思路想实现一个一维数组中的各个间隔点之间的随机提取20个数据,然后这些间隔点是按每隔一定

问题描述 我有一些思路想实现一个一维数组中的各个间隔点之间的随机提取20个数据,然后这些间隔点是按每隔一定 想在Matlab中实现对每两个间隔点之间随机提取原数组中的20个值,这些间隔点是按每隔一定点数采样出来的新数组 但是我不太懂Matlab语言不会写,谁能告诉我怎么写 解决方案 我理解的问题的解决代码如下: clear a=1:2000; b=50;%一组的数据.表示从1到50里挑20个,51到100挑20个数据,以此类推 for ii=1:40 c=randperm(b,20); x((i

vb.net如何将二维数组的第一行数据赋值给一个一维数组

问题描述 a是一个二维数组,b是一个一维数组,如何将a中第一行数据全部赋值给b,不能使用for--next单个赋值,因为每一行的数据太多,有四万多个,单个赋值太慢,有什么办法可以直接赋值啊?谢谢了! 解决方案 解决方案二:4万个对于计算机来说不算多.现在的处理器每秒钟可以处理百亿级别的数据量.可以用Marshal.Copy实现堆上内存的直接拷贝,这是最快的.http://blog.csdn.net/xiaobai1593/article/details/7065955解决方案三:引用1楼caoz

【急】c# COPY 二维数组的整行 到 一个一维数组 还有MEMORY RYCLE

问题描述 如何COPY二维数组的整行到一个一维数组还有MEMORYRYCLEobject[,]obj_=....;//这里obj_已经被实例化了.Dictionary<string,object[]>data=newDictionary<string,object[]>();data["First"]=newobject[28];//我想把obj_的每行COPY到data["First"]里,Array.Copy((object[])data

《C语言解惑》—— 2.8 一维数组更要特殊对待

2.8 一维数组更要特殊对待 字符串也是一维数组,但它很特殊,所以这里说的一维数组不包含它,而是指数字数组,即整数数组和实数数组,也就是数值数组.如果抄袭字符串的形式来输出数组的全部内容,有可能会写出如下的错误程序. #include <stdio.h> void main ( ) { int a[3]={1,2,3}; printf("%d\n",a); } 这个程序本身是正确的,问题是它输出的内容不符合要求.字符串可以使用printf函数一次输出,但数值数组只能一次一个

《C语言及程序设计》程序填空——一维数组初步

返回:贺老师课程教学链接 1. 下面程序将十进制整数b转换成n进制,请填空使程序完整. #include<stdio.h> int main() { int i=0,b,n,j,num[20] ; scanf("%d",&n); scanf("%d",&b) ; do { num[i]=_____(1)______; b=____(2)______; i++; } while (b!=0); for(_____(3)______) pri

《C语言及程序设计》程序阅读——一维数组初步

返回:贺老师课程教学链接 阅读下面的程序,学会使用数组.若感觉太小儿科的题目,可以直接跳过.不过,要是阅读困难,还是要老老实实地对照运行结果,以及借助单步调试的工具,搞清求值并显示的过程.(1) #include<stdio.h> int main() { int a [6]= {2,-3,4,-6,-8,10}, i; for (i=0; i<6; i++) { if(a[i]<0) continue; printf("%d ", a[i]); } print

如何将一维数组的元素赋值于一个临时的字符串??请教

问题描述 RT语言为vb.net一维数组为f(n)str为string想用一个循环,依次将数组中的每一个元素赋值给str供其后的代码使用,譬如:Fori=0Ton-1strs=f(i)程序提示错误,"无法转为一维阵列属于object",请教该如何解决?? 解决方案 解决方案二:举例:strs=strs+f(i).ToString+vbcrlf解决方案三:这里有一段代码,实现的是:若(第一组)f1(第二组)f1:f2(第三组)f1:f2:f3(第四组)f1:f2:f3:f2(第五组)f1

Go语言使用字符串的几个技巧分享_Golang

一.字符串底层就是一个字节数组 这真的非常重要,而且影响着下面的其他几个技巧.当你创建一个字符串时,其本质就是一个字节的数组.这意味着你可以像访问数组一样的访问单独的某个字节.例如,下面的代码逐个打印字符串中的每个字节以及对应字节数组中的每个字节: package main import "fmt" func main() { str := "hello" for i := 0; i < len(str); i++ { fmt.Printf("%b

C语言一维数组入门教程

一.一维数组 1.定义一个一维数组: (1)格式:存储类别   类型标识符  数组名标识符[常量表达式] (2)例子:static int a[10] (3)注意:定义数组时数组的元素必须是常量,不能是变量,例如int n=3;int a[n] 这是不对的. 2.对数组的引用: (1)引用形式:数组名[下标] 例如 a[2]  ( 2) 注意数组的下标是由0开始,如a[3] 表示有三个元素 分别是a[0],a[1] ,a[2] .如果你用a[3]访问第三个元素是错误的. (3)对数组的遍历:如果