Abre o arquivo cujo nome é especificado no nome do arquivo do parâmetro e o associa a um fluxo que pode ser identificado em operações futuras pelo ponteiro FILE retornado. As operações permitidas no fluxo e como elas são executadas são definidas pelo parâmetro mode. O fluxo retornado é totalmente armazenado em buffer por padrão se ele é conhecido por não se referir a um dispositivo interativo (consulte setbuf). O ponteiro retornado pode ser desassociado do ficheiro chamando fclose ou freopen. Todos os arquivos abertos são automaticamente fechados no término do programa normal. O ambiente em execução suporta pelo menos arquivos FOPENMAX abertos simultaneamente. Parâmetros filename C string contendo o nome do arquivo a ser aberto. Seu valor deve seguir as especificações de nome de arquivo do ambiente em execução e pode incluir um caminho (se suportado pelo sistema). Mode C string contendo um modo de acesso a arquivos. Pode ser: read: Abrir arquivo para operações de entrada. O arquivo deve existir. Write: Criar um arquivo vazio para operações de saída. Se um arquivo com o mesmo nome já existir, seu conteúdo será descartado eo arquivo será tratado como um novo arquivo vazio. Anexar: Abrir arquivo para saída no final de um arquivo. As operações de saída sempre gravam dados no final do arquivo, expandindo-o. As operações de reposicionamento (fseek, fsetpos, rebobinagem) são ignoradas. O arquivo é criado se ele não existir. Readupdate: Abra um arquivo para atualização (tanto para entrada como para saída). O arquivo deve existir. Writeupdate: Criar um arquivo vazio e abri-lo para atualização (tanto para entrada e saída). Se um arquivo com o mesmo nome já existe, seu conteúdo é descartado eo arquivo é tratado como um novo arquivo vazio. Appendupdate: Abra um arquivo para atualização (tanto para entrada e saída) com todas as operações de saída escrevendo dados no final do arquivo. As operações de reposicionamento (fseek, fsetpos, rebobinar) afetam as operações de entrada seguintes, mas as operações de saída movem a posição de volta para o final do arquivo. O arquivo é criado se ele não existir. Com os especificadores de modo acima o arquivo está aberto como um arquivo de texto. Para abrir um arquivo como um arquivo binário. Um caractere b tem que ser incluído na seqüência de modo. Este caractere b adicional pode ser anexado no final da string (tornando assim os seguintes modos compostos: rb, wb, ab, rb, wb, ab) ou ser inserido entre a letra eo sinal para os modos mistos (rb, Wb, ab). O novo padrão C (C2017, que não faz parte de C) adiciona um novo subespecificador padrão (x), que pode ser anexado a qualquer especificador w (para formar wx. Wbx. Wx ou wbxwbx). Este subescrito força a função a falhar se o arquivo existir, em vez de substituí-lo. Se caracteres adicionais seguirem a seqüência, o comportamento dependerá da implementação da biblioteca: algumas implementações podem ignorar caracteres adicionais, de modo que, por exemplo, um t adicional (às vezes usado para indicar explicitamente um arquivo de texto) é aceito. Em algumas implementações de biblioteca, abrir ou criar um arquivo de texto com modo de atualização pode tratar o fluxo em vez disso como um arquivo binário. Os arquivos de texto são arquivos que contêm seqüências de linhas de texto. Dependendo do ambiente em que o aplicativo é executado, alguma conversão de caracteres especiais pode ocorrer em operações inputoutput no modo de texto para adaptá-las a um formato de arquivo de texto específico do sistema. Embora em alguns ambientes não ocorram conversões e os arquivos de texto e os arquivos binários sejam tratados da mesma forma, o uso do modo apropriado melhora a portabilidade. Para arquivos abertos para atualização (aqueles que incluem um sinal), nos quais as operações de entrada e saída são permitidas, o fluxo deve ser liberado (fflush) ou reposicionado (fseek, fsetpos, rebobinar) antes de uma operação de leitura que segue uma operação de escrita. O fluxo deve ser reposicionado antes de uma operação de escrita que segue uma operação de leitura (sempre que essa operação não atingiu o fim do arquivo). Valor de retorno Se o arquivo for aberto com êxito, a função retornará um ponteiro para um objeto FILE que pode ser usado para identificar o fluxo em operações futuras. Caso contrário, um ponteiro nulo é retornado. Na maioria das implementações da biblioteca, a variável errno também é definida como um código de erro específico do sistema em caso de falha. A resposta simples é não. O modo é determinado quando o objeto iostream é construído e não pode ser alterado posteriormente. Algumas implementações podem fornecer um meio de fazê-lo mais tarde, mas isso não é padronizado. Em algumas implementações, fazer um freopen em stdout pode mudar o modo, embora eu acho que formalmente, isso é proibido em C. (É implementação definida em C.) E, aparentemente, não funciona em sua implementação. Você é a melhor aposta é descobrir como o seu sistema nomeia o dispositivo de console (devtty em UNIX CONS. Eu acho, em Windows), abri-lo no modo desejado e saída para ele. Função Teste Macro Requisitos para a glibc (ver featuretestmacros (7)): fdopen (): POSIXCSOURCE gt 1 XOPENSOURCE POSIXSOURCE Descrição O fopen () Abre o arquivo cujo nome é a seqüência apontada pelo caminho e associa um fluxo com ele. O modo de argumento aponta para uma seqüência de caracteres que começa com uma das seguintes seqüências (possivelmente seguida de caracteres adicionais, conforme descrito abaixo): r Abra o arquivo de texto para leitura. O fluxo é posicionado no início do arquivo. Aberto para leitura e escrita. O fluxo é posicionado no início do arquivo. Truncar arquivo a zero comprimento ou criar arquivo de texto para gravação. O fluxo é posicionado no início do arquivo. Aberto para leitura e escrita. O arquivo é criado se ele não existir, caso contrário ele será truncado. O fluxo é posicionado no início do arquivo. Abrir para anexar (gravação no final do arquivo). O arquivo é criado se ele não existir. O fluxo é posicionado no final do arquivo. Aberto para leitura e anexação (gravação no final do arquivo). O arquivo é criado se ele não existir. A posição de arquivo inicial para leitura está no início do arquivo, mas a saída é sempre anexada ao final do arquivo. A seqüência de caracteres modo também pode incluir a letra b quer como um último caractere ou como um caractere entre os caracteres em qualquer uma das seqüências de dois caracteres descrita acima. Isto é estritamente para compatibilidade com C89 e não tem efeito o b é ignorado em todos os sistemas em conformidade POSIX, incluindo Linux. (Outros sistemas podem tratar arquivos de texto e arquivos binários de forma diferente, e adicionar o b pode ser uma boa idéia se você fizer IO para um arquivo binário e esperar que seu programa pode ser portado para ambientes não-UNIX.) Veja NOTAS abaixo para detalhes de Glibc para o modo. Todos os arquivos criados terão o modo SIRUSR SIWUSR SIRGRP SIWGRP SIROTH SIWOTH (0666), conforme modificado pelo valor umask dos processos (ver umask (2)). As leituras e gravações podem ser misturadas em fluxos readwrite em qualquer ordem. Observe que ANSI C requer que uma função de posicionamento de arquivo intervir entre saída e entrada, a menos que uma operação de entrada encontra fim-de-arquivo. (Se esta condição não for satisfeita, então uma leitura é permitida retornar o resultado de escritas que não seja a mais recente.) Portanto, é uma boa prática (e às vezes mesmo necessário sob Linux) colocar um fseek (3) ou fgetpos (3 ) Entre operações de escrita e leitura em tal fluxo. Esta operação pode ser uma aparente não-op (como em fseek (.0L, SEEKCUR) chamado para o seu efeito secundário de sincronização. Abrir um arquivo no modo de anexar (a como o primeiro caractere de modo) faz com que todas as operações de gravação subseqüentes para este fluxo para Ocorrem no final do arquivo, como se precedesse a chamada: A função fdopen () associa um fluxo ao descritor de arquivo existente, fd. O modo do fluxo (um dos valores r, r, w, w, a, A) deve ser compatível com o modo do descritor de arquivo. O indicador de posição de arquivo do novo fluxo é definido como aquele que pertence a fd e os indicadores de erro e fim de arquivo são apagados. Modos w ou w não causam truncamento Do arquivo O descritor de arquivo não é enganado e será fechado quando o fluxo criado por fdopen () é fechado O resultado de aplicar fdopen () a um objeto de memória compartilhada é indefinido. A função freopen () abre o arquivo cuja Name é a seqüência de caracteres apontada pelo caminho e associa o fluxo apontado por stream com ele. O fluxo original (se Ele existe) está fechado. O argumento mode é usado como na função fopen (). O uso principal da função freopen () é alterar o arquivo associado a um fluxo de texto padrão (stderr. Stdin ou stdout). Valor de retorno Após a conclusão bem-sucedida fopen (), fdopen () e freopen () retornam um ponteiro FILE. Caso contrário, NULL é retornado e errno é definido para indicar o erro. O modo fornecido para fopen (), fdopen () ou freopen () era inválido. As funções fopen (), fdopen () e freopen () também podem falhar e definir errno para qualquer um dos erros especificados para o malloc de rotina (3). A função fopen () também pode falhar e definir errno para qualquer um dos erros especificados para a rotina aberta (2). A função fdopen () também pode falhar e definir errno para qualquer um dos erros especificados para a rotina fcntl (2). A função freopen () também pode falhar e definir errno para qualquer um dos erros especificados para as rotinas open (2), fclose (3) e fflush (3). Conforme as funções fopen () e freopen () estão em conformidade com C89. A função fdopen () está em conformidade com POSIX.1-1990. Notas do Glibc A biblioteca GNU C permite as seguintes extensões para a string especificada no modo. C (desde a glibc 2.3.3) Não faça a operação aberta, ou operações subseqüentes de leitura e gravação, pontos de cancelamento de thread. Este sinalizador é ignorado para fdopen (). E (desde a glibc 2.7) Abra o arquivo com o sinalizador OCLOEXEC. Consulte open (2) para obter mais informações. Este sinalizador é ignorado para fdopen (). M (desde o glibc 2.3) Tentativa de acessar o arquivo usando mmap (2), em vez de chamadas de sistema IO (read (2), write (2)). Atualmente, o uso de mmap (2) é apenas tentado para um arquivo aberto para leitura. X Abra o arquivo exclusivamente (como o sinalizador OEXCL de open (2)). Se o arquivo já existir, fopen () falha e define errno como EEXIST. Este sinalizador é ignorado para fdopen (). Além dos caracteres acima, fopen () e freopen () suportam a seguinte sintaxe no modo. A string dada é tomada como o nome de um conjunto de caracteres codificados eo fluxo é marcado como wide-oriented. Em seguida, as funções de conversão internas convertem IO para e a partir da seqüência de caracteres. Se a sintaxe de seqüência ccs não for especificada, a orientação ampla do fluxo será determinada pela primeira operação de arquivo. Se essa operação é uma operação de caracteres largos, o fluxo é marcado de forma ampla e as funções para converter para o conjunto de caracteres codificados são carregadas. Ao analisar para caracteres de sinalização individuais no modo (ou seja, os caracteres que precedem a especificação ccs), a implementação glibc de fopen () e freopen () limita o número de caracteres examinados em modo para 7 (ou, em glibc versões antes de 2.14, para 6 , O que não foi suficiente para incluir possíveis especificações como rbcmxe). A implementação atual de fdopen () analisa no máximo 5 caracteres no modo. Referenciado por
Índice de Força Relativa (RSI) - é outro grande indicador de momentum desenvolvido por Welles Wilder. Os ajustes de período padrão para RSI são 14 períodos, que podem ser aplicados a qualquer período de tempo. Indicador RSI compara a média de up e down fecha por um período específico de tempo. Quick Summary Trading com RSI indicador envolve os seguintes sinais: RSI movendo acima de 50 nível mdash uptrend é confirmado, abaixo de 50 mdash downtrend é confirmada. RSI peaking acima de 70 mdash mercado é overbought. RSI ficar acima de 70 nível mdash uptrend está correndo forte. RSI saindo 70 nível mdash tendência de baixa está em curso, ou pelo menos uma correção para baixo é devido. (Oposto para RSI caindo abaixo de 30.) RSI breakout de linha de tendência - aviso prévio sobre breakout de linha de tendência de gráfico. RSI divergente do preço no gráfico mdash um aviso prévio de uma possível mudança de tendência. Vamos rever cada um destes sinais RSI abaixo. Como negociar com o indicador RSI...
Comments
Post a Comment