string to_split="мама_мыла_раму"; // строка для разбивки на подстрокиstring sep="_"; // раздедитель в виде символаushort u_sep; // код символа разделителяstring result[3]; // массив для получения строк//--- получим код разделителя
u_sep=StringGetCharacter(sep,0);
//--- разобьем строку на подстрокиint k=StringSplit(to_split,u_sep,result);
//--- выведем комментарий PrintFormat("Получено строк: %d. Использован разделитель '%s' с кодом %d",k,sep,u_sep);
//--- теперь выведем все полученные строкиif(k>0)
{
for(int i=0;i<k;i++)
{
PrintFormat("result[%d]=%s",i,result[i]);
}
}
关于StringSplit: 为什么我不能使用静态数组?
帮助中的例子
它可以工作,但会产生错误4007。看起来应该有足够的内存,不需要改变大小......我不明白。关于StringSplit:为什么我不能使用静态数组?
帮助文件中的例子
它可以工作,但会产生错误4007。它似乎有足够的内存,而且不需要调整大小......我不明白。帮助中是否也说 "妈妈洗了框架"?如果你指的是帮助中的一个例子,也给我们一个例子的链接。
你不会相信...
弦外之音
你不会相信...
弦外之音
没有这样一个数组声明的字符串 result[3]; 链接中有一个错误,因为。
"没有足够的内存来重新分配阵列,或者试图调整静态阵列的大小!"
没有一个数组声明的字符串 result[3]; 这里面有一个错误。
我问了--为什么,并强调了--哪里(改变了)。
我问为什么,并强调了哪里(改变了)。
因为你声明该数组 是静态的 -3.而产生的子串有3个以上的字符。
静态[3]是3个(子)行,而不是3个字符,我想。
是的,如果你删除了最多3个字母
这不是问题的关键。一般来说,对于静态数组,何时以及如何使用它们并不清楚。看来,我不想让编译器听之任之,也不想遇到这样的问题--似乎可以工作,但有错误。