在工程中,很多时候需要读取文件,而文件名filename或者path是有一定规律的。这就要求当循环时,i发生变化,filename里的一部分也随着变化。
在matlab里,要实现这个功能很方便,可以用int2str(i)实现,将整形的i转成字符型。 那么在c或者c++下呢??最初用itoa,但我在linux下用不了这个函数。所以放弃了。看了很多资料,也没有直接回答的。
摸索了一天,终于解决。我将我的解决思路附下。
我要实现,当for循环时,路径path的值为 /....../01/01.jpg , /....../01/02.jpg, /....../01/03,jpg依次类推,当到01/05.jpg时, 变成/02/01.jpg /02/02.jpg /02/03.jpg...........................剩下的我就不写了。下面是实现代码:
string path = "/ayan/RoiPalmData/00/00.jpg";
string path1 = "/ayan/RoiPalmData/";
string path3 = ".jpg";
for(int i=1; i<9; i++)
for(int j=1; j<6; j++)
{
char name[5] = {path[18], path[19]+i, '/', path[21], path[22]+j};
string path2 = name;
string pathS = path1 + path2 + path3; //拼接
const char *path = pathS.c_str(); //因为调用cvLoadImage时,路径必须是const char*类型的,所以这里进行了转换
cout<<path<<endl;
CreateDate(path);
}
欢迎大家提出意见,或进行修正。这只是一种实现方法。
分享到:
相关推荐
- **答案解析**:这是一个双重循环,外层循环执行n次,内层循环次数随着外层循环变量的变化而变化。对于每个i值,内层循环执行n - i次,因此总次数为n + (n - 1) + (n - 2) + ... + 1 = n(n + 1) / 2。正确答案是D...
2-11 在一个for循环中,可以初始化多个变量吗?如何实现? 解: 在for循环设置条件的第一个";"前,用,分隔不同的赋值表达式。 例如: for (x = 0, y = 10; x ; x++, y++) 2-12 执行完下列语句后,n的值为多少? ...
MFC(Microsoft Foundation Classes)中的 `CString` 类提供了与 C++ 标准字符串之间的转换功能。通常使用构造函数或转换操作符实现。 #### 15. C++ 为什么采用模块化设计 C++ 的模块化设计主要是为了提高代码的...
数组是一种基本的数据结构,在C++中用于存储相同类型元素的集合。数组中的每个元素可以通过索引访问,索引从0开始。 ### 2. 一维数组的定义与初始化 #### 实验(1):一维数组的操作 - **定义**:`int a[11];` - ...
i++, j=i+j)`,最终 `k` 的值取决于循环次数和每次迭代时 `i` 和 `j` 的变化。 20. **字符串长度**:`strlen("string")` 返回的是字符串 "string" 的长度,即 `6`。 21. **数组初始化**:合法的数组初始化方式是 `...
if ((i == 0 && j == 0) || (i == 1 && j == 1) || (i == 2 && j == 2) || (i == 3 && j == 3) || (i == 4 && j == 4) || (i == 5 && j == 5) || (i == 6 && j == 6) || (i == 7 && j == 7)) { printf("*"); } ...
3、从终端读入字符集大小为n(即字符的个数),逐一输入n个字符和相应的n个权值(即字符出现的频度),建立哈夫曼树,进行编码并且输出。 注:可用C或C++编写。 4、用邻接矩阵或邻接图实现一个有向图的...
- **实际意义**:虽然`goto`不存在于Java中,了解其背景有助于理解Java的设计理念,即强调结构化编程和避免潜在的复杂性。 #### 3. &和&&的区别 - **概念解析**:`&`和`&&`都是逻辑运算符,用来表示逻辑与(AND)。...
例如,'0是一个合法的比较表达式,'i=j==0'是测试'j'是否等于零,'(char)(65+3)'将整数转换为对应的ASCII字符,而'x+1=x+1'虽然在数学上等价,但在C语言中并不改变任何值,所以也视为合法,只是没有实际效果。...
“xyz”这个字符串文本在字符串常量池中只存在一份,而`s`引用了一个新的`String`对象。 #### 34. `String`和`StringBuffer`的区别 **问题**: `String`和`StringBuffer`的区别 **答案**: `String`是不可变的,而`...
`goto`在C和C++中作为控制流关键字使用,但在Java中被保留但未启用。为了实现类似的功能,可以使用`break`或`continue`配合标签来模拟`goto`的行为。 #### 3. 说说&和&&的区别。 - **`&`**:逻辑与操作符,用于按...
- 循环执行直到 `m` 变为0,此时 `count` 即为 `m` 中1的个数。 **答案:** 输出为 `14`(因为 `9999` 的二进制中有14个1)。 --- #### 6. 不用判断语句找出两个数中较大的 **知识点解析:** 可以利用条件运算符...
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要...
这意味着一旦给一个`final`变量分配了一个对象,就不能再改变这个引用指向另一个对象,但是可以改变该对象的内部状态。 #### 11. “==” 和 equals 方法的区别 - `==` 比较的是对象的内存地址。 - `equals` 方法...
- **知识点**: 使用`new String("xyz")`创建了一个`String`对象,并且在字符串常量池中创建了一个字符串常量。 - **举例**: `String s1 = "xyz";` 和 `String s2 = new String("xyz");` 的区别在于,`s1`直接从字符...