我有以下数组:
char song[] = {'c', 'd',' ', 'e', 'f',' ', 'g', 'a', 'b', 'C',' '};
我想生成一个由我指定的随机字符串长度,如int len=10
我该怎么做
char notes [] =“在此生成随机数据”;
编辑:我是新的我试过了
char song[] = {'c', 'd',' ', 'e', 'f',' ', 'g', 'a', 'b', 'C',' '};
char fs[];
int lengthh=10;
int i;
for(i = 0;i < lengthh; i++){
fs = fs + song[random (0, 10)];
}
String str(fs);
char notes[] = fs[];
错误
Circuit_11.ino: In function 'void loop()':
Circuit_11:109: error: incompatible types in assignment of 'char' to 'char [0]'
Circuit_11:116: error: expected primary-expression before ']' token
答案 0 :(得分:1)
你的问题就在这一行:
fs = fs + song[random (0, 10)];
fs
是指向char的指针,无法将其添加到char[0]
类型。
如果要追加到数组,则必须每次递增索引变量i
。
就像这样:
fs[i] = song[random (0, 10)];
如果你想使用像该行代码一样的附加,你必须使用c ++的String库:
string str,song={'0','3',...};
str = str + song[random(0,10)];