Über StringSplit: Warum kann ich nicht ein statisches Array verwenden?
Beispiel aus der Hilfe
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]);
}
}
Es funktioniert, aber es wird der Fehler 4007 erzeugt. Es sieht so aus, als ob genug Speicher vorhanden sein sollte und die Größe nicht geändert werden muss... Ich verstehe das nicht.
Über StringSplit: Warum kann ich nicht ein statisches Array verwenden?
Beispiel aus der Hilfedatei
Es funktioniert, aber es wird der Fehler 4007 erzeugt. Es scheint genug Speicher zu sein und die Größe muss nicht geändert werden... Ich verstehe das nicht.
case4007: error_string="Недостаточно памяти для перераспределения массива либо попытка изменения размера статического массива!";
Sagt die Helferin auch "Mutter hat den Rahmen gewaschen"? Wenn Sie sich auf ein Beispiel aus der Hilfe beziehen, geben Sie uns auch einen Link zu diesem Beispiel.
tol64: Steht in der Hilfe auch "Mama hat den Rahmen gewaschen"? Wenn Sie sich auf ein Beispiel aus der Hilfe beziehen, geben Sie uns auch einen Link zu diesem Beispiel.
Silent: Ich habe gefragt, warum, und hervorgehoben, wo (geändert).
Bei statischen Arrays ist im Allgemeinen nicht klar, wann und wie sie anzuwenden sind. Es scheint, dass ich den Compiler nicht seiner Gnade überlassen möchte, und ich möchte nicht auf solche Probleme stoßen - es scheint zu funktionieren, aber es gibt Fehler.
Silent: Bei statischen Arrays ist es im Allgemeinen nicht klar, wann und wie sie zu verwenden sind. Es scheint, dass ich den Compiler nicht seiner Gnade überlassen möchte, und ich möchte nicht auf solche Probleme stoßen - es scheint zu funktionieren, aber es gibt Fehler.
Und man versucht, dieses oder jenes Fach zu lernen, wenn man es braucht. Sobald Sie den Punkt in Ihrem System erreicht haben, an dem Sie diese oder jene "Hebel" (Funktionen) benötigen, sollten Sie damit experimentieren. Ich habe festgestellt, dass diese Methode des Lernens (in meinem Fall) recht gut funktioniert.))
Über StringSplit: Warum kann ich nicht ein statisches Array verwenden?
Beispiel aus der Hilfe
Es funktioniert, aber es wird der Fehler 4007 erzeugt. Es sieht so aus, als ob genug Speicher vorhanden sein sollte und die Größe nicht geändert werden muss... Ich verstehe das nicht.Über StringSplit: Warum kann ich nicht ein statisches Array verwenden?
Beispiel aus der Hilfedatei
Es funktioniert, aber es wird der Fehler 4007 erzeugt. Es scheint genug Speicher zu sein und die Größe muss nicht geändert werden... Ich verstehe das nicht.Steht in der Hilfe auch "Mama hat den Rahmen gewaschen"? Wenn Sie sich auf ein Beispiel aus der Hilfe beziehen, geben Sie uns auch einen Link zu diesem Beispiel.
Du wirst es nicht glauben...
StringSplit
Du wirst es nicht glauben...
StringSplit
Es gibt keine als Array deklarierte Zeichenkette result[3]; Es gibt einen Fehler in der Verknüpfung, denn:
"Nicht genügend Speicher für die Neuverteilung des Arrays oder ein Versuch, die Größe des statischen Arrays zu ändern!"
Es gibt keinen als Array deklarierten String result[3]; Hier liegt ein Fehler vor.
Ich habe gefragt, warum, und hervorgehoben, wo (geändert).
Ich habe gefragt, warum, und hervorgehoben, wo (geändert).
Weil Sie das Array als statisch deklariert haben - 3. Und die resultierende Teilzeichenkette hat mehr als 3 Zeichen.
Statisch [3] sind 3 (Unter-)Zeilen, nicht 3 Zeichen, dachte ich.
Ja, wenn Sie bis zu 3 Buchstaben entfernen
Das ist nicht der Punkt.Bei statischen Arrays ist es im Allgemeinen nicht klar, wann und wie sie zu verwenden sind. Es scheint, dass ich den Compiler nicht seiner Gnade überlassen möchte, und ich möchte nicht auf solche Probleme stoßen - es scheint zu funktionieren, aber es gibt Fehler.