write
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
— | write [2023/09/12 16:14] (atual) – criada - edição externa 127.0.0.1 | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== Função write ====== | ||
+ | |||
+ | Sintaxe: | ||
+ | |||
+ | '' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | A função **write** grava no arquivo indicado pelo descritor as informações obtidas do endereço fornecido. Os dados serão gravados a partir da posição atual do arquivo. Caso a opção **O_APPEND** tenha sido especificada na abertura, a posição atual do arquivo será antes atualizada com o valor do tamanho do arquivo. Após a gravação a posição atual do arquivo será somada da quantidade de bytes gravados no arquivo. | ||
+ | |||
+ | Deve-se informar a quantidade de bytes a ser gravado no arquivo. Caso ocorra algum erro, a função irá retornar -1, e a descrição do erro estará disponível na variável [[errno]]. Caso não ocorra erro a função irá retornar a quantidade de bytes gravados no arquivo, que deve ser igual à quantidade informada como parâmetro. | ||
+ | |||
+ | Veja o exemplo: | ||
+ | |||
+ | <code c> | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | int main (int argc, char *argv[]) | ||
+ | { | ||
+ | int iFileDescriptor; | ||
+ | | ||
+ | char aBuffer[100]; | ||
+ | if( argc < 2 ) | ||
+ | { | ||
+ | fprintf(stderr, | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | /* abrindo o arquivo, caso o arquivo exista sera truncado */ | ||
+ | | ||
+ | if (iFileDescriptor < 0) | ||
+ | { | ||
+ | | ||
+ | exit (errno); | ||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | /* Gravando um texto no arquivo. Deve-se sempre passar o endereço de memória da variável cujo conteúdo deseja-se para gravar. */ | ||
+ | | ||
+ | |||
+ | if (iQtdeWrite < strlen (aBuffer)) /* Sempre deve ser verificado se todos os dados foram gravados. Basta comparar a quantidade | ||
+ | de bytes gravados com o tamanho da variável que deseja-se gravar. */ | ||
+ | { | ||
+ | perror (argv[0]); | ||
+ | exit (errno); | ||
+ | } | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | --- // | ||
write.txt · Última modificação: 2023/09/12 16:14 por 127.0.0.1