Pergunta

Valor do tipo AccountNumber

15 verificando 52,42

23 economias 51,51

11 verificando 12.21

é meu arquivo delimitado por guia

gostaria de poder pesquisar linhas pelo número da conta.digamos que se eu colocar 23, quero obter aquela linha específica.como eu faria isso?

também mais adiantado, se eu quisesse alterar um valor específico, digamos o valor 51,51 na conta 23.como faço para buscar esse valor e substituí-lo por um novo valor?

até agora estou apenas lendo linha por linha

linha de corda;ifstream is("conta.txt");

 if (is.is_open())
 {
while (std::getline(is, line))  // read one line at a time
{
    string value;
    string parseline;
    std::istringstream iss(line);

    getline(line, parseline);
    cout << parseline << endl;  // do something with the value
    while (iss >> value)    // read one value at at time from the line
    {
        //cout << line << "   ";    // do something with the value
    }
}
is.close();
 }
 else
     cout << "File cant be opened" << endl;

return 0;
Foi útil?

Solução

Dado que cada linha tem comprimento variável, não há como indexar uma linha específica sem primeiro analisar o arquivo inteiro.

Mas suspeito que seu programa desejará manipular linhas e colunas aleatórias.Então, eu começaria analisando o arquivo inteiro.Coloque cada linha em sua própria estrutura de dados em uma matriz e indexe essa linha na matriz.

Você pode usar "strtok" para dividir a entrada em linhas e, em seguida, strtok novamente para dividir cada linha em campos.

Outras dicas

Se eu fizesse isso, primeiro escreveria algumas funções que analisam o arquivo inteiro e armazenam os dados em uma estrutura de dados apropriada (como um array ou std::map).Então eu usaria a estrutura de dados para as operações necessárias (como pesquisa ou edição).Finalmente, eu escreveria a estrutura de dados de volta em um arquivo se houvesse alguma modificação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top