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); | ||
| + | } | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | --- // | ||