Erros, bugs, perguntas - página 3019

 
Andrei Trukhanovich:

parece que count=0 funciona da mesma forma que count=-1 e em caso de "" copia um terminal nulo.

É aqui que reside o erro, apenas mostrado com um exemplo prático onde, emgeral, pode haver cordas vazias e contagem = 0 por si só (num laço, por exemplo)

 
A100:

E quantos

deve copiar se contar = 0 ?

Dica: 3 caracteres são copiados quando a contagem é = 3.

Nem sequer vou discutir. Funciona correctamente.

Andrei Trukhanovich:

Parece que a contagem=0 funciona da mesma forma que a contagem=-1 e no caso de "" copia um terminal nulo, pelo que não se pode converter correctamente uma cadeia vazia sem verificações adicionais

Um fio vazio (NULL) não contém um terminal nulo. Tudo parece funcionar aí logicamente.

 
fxsaber:

Nem sequer vou discutir. Funciona correctamente.

Se não houver argumentos, então é claro que não é necessário.

fxsaber:

Um fio vazio (NULL) não contém um terminal nulo. Na minha opinião, tudo funciona lá logicamente.

Uma corda vazia é "" e NULL não é uma corda vazia - é uma corda não inicializada, ou seja, não é de todo uma corda eStringToCharArray com NULL não funciona, resultado do erro: 4009

 
A100:

Se não houver argumentos, então é claro que não precisa

Uma corda vazia é "" e NULL não é uma corda vazia - é uma corda não inicializada, ou seja, não é de todo uma corda eStringToCharArray com NULL não funciona, resultado do erro: 4009

Está enganado, para o dizer de forma suave.

 
fxsaber:

Está enganado, para o dizer de forma suave.

Por favor explique se tem alguma coisa a dizer sobre os méritos

 
A100:

Por favor explique se tem alguma coisa a dizer sobre os méritos

string Str = NULL;

Print(Str == "");
 
fxsaber:

Resultado: falso

Qual é a contradição com esta afirmação?

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

Insectos, insectos, perguntas

A100, 2021.05.24 20:07

Corda vazia é "" enquanto NULL não é uma corda vazia - é uma corda não inicializada o que significa que não é de todo uma corda eStringToCharArray com NULL não funciona e causa erro: 4009


 
A100:

Resultado: falso

E qual é a contradição com esta afirmação?

A variável é inicializada. Pode, claro, pensar em cordas como um ponteiro para uma classe interna de cordas.

 
fxsaber:

A variável é rubricada. Pode, claro, pensar em cordas como um ponteiro para uma classe interna de cordas.

Se está inicializada, então porque é que a

void OnStart()
{
    uchar array[];
    const string text = NULL;
    StringToCharArray( text, array );
    Print( GetLastError());
}

erro 4009

ERR_NOTINITIALIZED_STRING

4009

Cadeia não inicializada

 
fxsaber:

Nem sequer vou discutir. Funciona correctamente.

Um fio vazio (NULL) não contém um terminal nulo. Na minha opinião, tudo funciona lá logicamente.


Não é esse o problema, o problema é que este código devolve 4 e deve devolver 0.

Print(StringToCharArray( "ABC", array, 0, 0));