C - 从int获取字符串

时间:2014-10-01 16:58:26

标签: c

我有一个格式为

的给定长度的所有字符串的列表

例如长度3

000
100
200
.
.
900
A00
B00
.
.
Z00
a00
b00
.
.
z00
010
.
.
.
zzz

我正在尝试编写valueof(int pos, int len)接受位置int作为参数并在该位置打印字符串(例如valueof(1,3)打印000valueof(109,3)打印{{1 }}

这是我尝试过的,但它不起作用:

k10

2 个答案:

答案 0 :(得分:5)

因此,pos % 62会在[0, 61]之间返回一个数字。因此,当您执行(pos%62)-1时,您会得到[-1, 60]之间的数字。你可能不想要的。

你应该重写这一行:

string[i]=arry[(pos%62)-1];

为:

string[i] = arry[pos % 62];

答案 1 :(得分:2)

这是一个测试工具。我会在输入中添加一些边界检查,否则你可以超出数组。

    #include <stdio.h>
    #include <stdlib.h>

    void valueof(int pos,int len)
...

   int main (int argc, char **argv) {
     valueof(atoi(argv[1]), atoi(argv[2]));
   }

编译gcc vo.c -o vo

./vo 1 3
000
./vo 109 3
k10