Il bug è la mancata corrispondenza tra le due funzioni, non il loro risultato, poiché è solo una questione di documentazione su cosa emettere quando count=0.
Tutto il trucco è nella descrizione della funzione ))
[in] Количество элементов массива для копирования. Определяет длину результатной строки.
По умолчанию -1, что означает копирование до конца массива, либо до встречи терминального 0.
Терминальный 0 также будет скопирован в массив-приемник,
при этом размер динамического массива может быть увеличен при необходимости под размер строки.
Если размер динамического массива больше длины строки, то размер массива уменьшен не будет.
progresso automatico )) cosa confonde di più l'utente.
A100:
E come potrebbe un praticante spiegare un risultato così contraddittorio ai teorici?
Risultato: 4:0
Atteso: 0:0
O anche - per correggere un po' la documentazione? Beh, non per risolvere i bug, dopo tutto!
La mia spiegazione è semplice: una di queste funzioni standard ha un bug - e so anche quale
Dopo di che gli sviluppatori hanno giàcorretto, quindi la tua spiegazione precedente non va bene
Le funzioni sono le stesse (differiscono solo nel tipo, infatti il template), la descrizione è la stessa (ci sono anche riferimenti incrociati), ma il risultato è diverso
2021.05.2502:08:33.329 Test (AUDUSD,M1) StringToCharArray 32021.05.2502:08:33.329 Test (AUDUSD,M1) ch[] ABC
2021.05.2502:08:33.329 Test (AUDUSD,M1) GetLastError0
Ma se passate 0 in count, l'intera stringa con uno zero finale sarà copiata automaticamente. Anche se la stringa è vuota, uno zero finale sarà copiato.
Ma se si passa 0 al conteggio, l'intera stringa con uno zero finale sarà copiata automaticamente. Anche se la stringa è vuota, lo zero finale sarà copiato.
Perché è diverso inStringToShortArray? Per favore, spiega in breve, se possibile, senza trucchi e riferimenti oscuri alle tue precedenti brillanti spiegazioni (che alla fine hanno fallito) - in termini semplici - per un dummie
senza ; ) e altri simboli inappropriati in questo argomento.
Perché è diverso inStringToShortArray? Per favore, spiega in breve, se possibile, senza trucchi e riferimenti incomprensibili alle tue precedenti brillanti spiegazioni (che alla fine hanno fallito) - in termini semplici - per un dummie
senza ; ) e altri simboli irrilevanti in questo argomento.
2021.05.2503:10:07.696 Test (AUDUSD,M1) StringToShortArray32021.05.2503:10:07.696 Test (AUDUSD,M1) sh[] ABC
2021.05.2503:10:07.696 Test (AUDUSD,M1) GetLastError0
Non so perché il conteggio 0 non funziona. Forse questo automatico intelligente sul conteggio 0 non funziona qui, e secondo l'aiuto, è già un mismatch. E deve essere un errore.
2021.05.2503:12:00.176 Test (AUDUSD,M1) StringToShortArray02021.05.2503:12:00.176 Test (AUDUSD,M1) GetLastError0
Comunque, o c'è un errore qui chenon funziona sulconteggio 0, o c'è un errore in StringToCharArray chefunzionasulconteggio 0.
Per farvi capire la solidità delle spiegazioni, studiate le basi del linguaggio C, specialmente la gestione delle stringhe. Allora non ci saranno domande.
Certo che è geniale. L'aiuto non rivela esplicitamente la gestione delconteggio 0. Ma se si gira la testa, passare una dimensione zero all'array e allocare zero memoria ad esso è strano, per usare un eufemismo. Ecco perché ilconteggio 0 fa scattare il ridimensionamento automatico fino alla fine della stringa. Per logica, dovrebbe funzionare anche in StringToShortArray. L'errore sarebbe stato restituito meglio, senza alcun ridimensionamento.
Roman: Certo che è geniale. La guida non rivela esplicitamente la gestione delconteggio 0. Ma se si gira la testa, passare una dimensione di array pari a zero e allocare zero memoria ad essa è strano, per usare un eufemismo. Ecco perché il conteggio 0 fa scattare il ridimensionamento automatico fino alla fine della stringa. Per logica, dovrebbe funzionare anche in StringToShortArray. È meglio che restituiscano un errore senza alcun ridimensionamento.
Probabilmente perché non c'è un array dinamico [out] inCharArrayToString. E lo sviluppatore ha deciso che questo non era necessario. Anche se una logica diversa in funzioni simili provoca più confusione.
Il bug è la discrepanza tra le due funzioni, non il risultato, perché è solo una questione di documentazione su cosa emettere quando count=0.
No, esiste anche il principio di uniformità. il bug è ovvio. se non capisci perché è un bug, è un tuo problema.
Il bug è la mancata corrispondenza tra le due funzioni, non il loro risultato, poiché è solo una questione di documentazione su cosa emettere quando count=0.
Forum sul trading, sistemi di trading automatico e test di strategia
Errori, bug, domande
Romano, 2021.05.07 22:07
Tutto il trucco è nella descrizione della funzione ))
progresso automatico ))
cosa confonde di più l'utente.
E come potrebbe un praticante spiegare un risultato così contraddittorio ai teorici?
Risultato: 4:0
Atteso: 0:0
O anche - per correggere un po' la documentazione? Beh, non per risolvere i bug, dopo tutto!
La mia spiegazione è semplice: una di queste funzioni standard ha un bug - e so anche quale
Dopo di che gli sviluppatori hanno giàcorretto, quindi la tua spiegazione precedente non va bene
Le funzioni sono le stesse (differiscono solo nel tipo, infatti il template), la descrizione è la stessa (ci sono anche riferimenti incrociati), ma il risultato è diverso
Gli sviluppatori l'hanno già risolto, quindi la tua spiegazione precedente non funziona
Cosa è stato sistemato esattamente?

È sempre stato così nella documentazione.
Hai controllato cosa è stato aggiustato? ))
Aggiustato, diviso come volevi.
3 caratteri, per esempio.
Ma se passate 0 in count, l'intera stringa con uno zero finale sarà copiata automaticamente.
E StringLen() non restituisce uno zero finale ))Anche se la stringa è vuota, uno zero finale sarà copiato.
Cosa avete riparato esattamente?
Ma se si passa 0 al conteggio, l'intera stringa con uno zero finale sarà copiata automaticamente.
Anche se la stringa è vuota, lo zero finale sarà copiato.
Perché è diverso inStringToShortArray? Per favore, spiega in breve, se possibile, senza trucchi e riferimenti oscuri alle tue precedenti brillanti spiegazioni (che alla fine hanno fallito) - in termini semplici - per un dummie
senza ; ) e altri simboli inappropriati in questo argomento.
Perché è diverso inStringToShortArray? Per favore, spiega in breve, se possibile, senza trucchi e riferimenti incomprensibili alle tue precedenti brillanti spiegazioni (che alla fine hanno fallito) - in termini semplici - per un dummie
senza ; ) e altri simboli irrilevanti in questo argomento.
Opere divise
Non so perché il conteggio 0 non funziona.
Forse questo automatico intelligente sul conteggio 0 non funziona qui, e secondo l'aiuto, è già un mismatch.
E deve essere un errore.
Comunque, o c'è un errore qui chenon funziona sulconteggio 0,
o c'è un errore in StringToCharArray chefunzionasulconteggio 0.
Per farvi capire la solidità delle spiegazioni, studiate le basi del linguaggio C, specialmente la gestione delle stringhe.
Allora non ci saranno domande.
In breve, o c'è un errore qui che il conteggio 0 non funziona,
o c'è un errore in StringToCharArray che il conteggio 0 funziona.
Geniale!
Geniale!
Ma se si gira la testa, passare una dimensione zero all'array e allocare zero memoria ad esso è strano, per usare un eufemismo.
Ecco perché ilconteggio 0 fa scattare il ridimensionamento automatico fino alla fine della stringa.
Per logica, dovrebbe funzionare anche in StringToShortArray.
L'errore sarebbe stato restituito meglio, senza alcun ridimensionamento.
Certo che è geniale. La guida non rivela esplicitamente la gestione delconteggio 0.
Ma se si gira la testa, passare una dimensione di array pari a zero e allocare zero memoria ad essa è strano, per usare un eufemismo.
Ecco perché il conteggio 0 fa scattare il ridimensionamento automatico fino alla fine della stringa.
Per logica, dovrebbe funzionare anche in StringToShortArray.
È meglio che restituiscano un errore senza alcun ridimensionamento.
E in
CharArrayToStringPerché non fino alla fine?
Risultato: ""
E in
Perché non fino alla fine?
Risultato: ""
Probabilmente perché non c'è un array dinamico [out] inCharArrayToString.
E lo sviluppatore ha deciso che questo non era necessario.
Anche se una logica diversa in funzioni simili provoca più confusione.