brak zapisu do pliku csv

Odpowiedz Nowy wątek
2018-01-28 15:36
0

Witam wszystkich,

Jako, że jestem nowy na forum, jak i zaczynam programowanie w c++ proszę o wyrozumiałość :)
Piszę program który wyciąga mi szukany wyraz w pliku .txt i wyświetla mi ten wyraz wraz z całym wierszem, w którym się znajduje.
Po pobraniu danych, powinno zapisać wszystko do pliku, któremu nadaje sam nazwę.

Problem polega na tym, że jak wstawię zwykły tekst w "" to wstawia mi do pliku, a jak wpiszę zmienną, to już nie.
Poniżej kod


#include <fstream>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

fstream plikwy;

int main()
{
    char saveFile[ 256 ];
    char FileName[ 256 ];
    char SearchWord[ 256 ];
    char tmp[ 1024 ];
    string line;

    cout << "Podaj aktualną datę np. [2018/01 ";
    cin >> SearchWord;
    cout << "\n\n";
    cout << "Nazwa pliku do przeszukania: ";
    cin >> FileName;
    std::ifstream file( FileName );
    std::string line1;

    ifstream FileSearch( FileName );
    ifstream inputfile;

    size_t pos;
    inputfile.open( FileName );
    if( inputfile.is_open() )
    {
        while( !FileSearch.eof() )
        {
            while( getline( inputfile, line ) )
            {
                pos = line.find( SearchWord );
                if( pos != string::npos ) // string::npos is returned if string is not found
                {
                    cout << line << "\n";

                }
            }
            cout << "Podaj nazwe pliku do ktorego zapisac\n";
            cin >> saveFile;
            ofstream plikout( saveFile );

            plikwy.open( saveFile, ios::out );
            if( plikwy.good() )
            {
                plikwy << line;
                plikwy.close();
            }
            cin.get();
            break;
        }
    }

    system( "PAUSE" );

    return 0;
}

Pozostało 580 znaków

2018-01-28 17:12
0

Wszystkie :)

Pozostało 580 znaków

2018-01-28 17:12
1

Zatem nie rób foundLine = line;, tylko wrzuć tam plikout << line; i załatwione.


Pozostało 580 znaków

2018-01-28 17:17
0

Działa :):)
Dziękuję bardzo :)

Idąc dalej, jest możliwość aby wynik konsoli:
[2018/01/23 09:49:11.808240, 2] passdb/pdb_ldap.c:553(init_sam_from_ldap)
[2018/01/23 09:49:11.809135, 2] passdb/pdb_ldap.c:2427(init_group_from_ldap)
[2018/01/23 09:49:11.810550, 2] smbd/close.c:691(close_normal_file)
[2018/01/23 09:49:11.817392, 2] smbd/open.c:704(open_file)
[2018/01/23 09:49:11.818263, 2] passdb/pdb_ldap.c:553(init_sam_from_ldap)
[2018/01/23 09:49:11.819325, 2] passdb/pdb_ldap.c:2427(init_group_from_ldap)
[2018/01/23 09:49:11.827431, 2] smbd/close.c:691(close_normal_file)
[2018/01/23 09:49:11.828950, 2] smbd/open.c:704(open_file)
[2018/01/23 09:49:11.829847, 2] passdb/pdb_ldap.c:553(init_sam_from_ldap)
[2018/01/23 09:49:11.830989, 2] passdb/pdb_ldap.c:2427(init_group_from_ldap)
[2018/01/23 09:49:11.847923, 2] smbd/close.c:691(close_normal_file)
[2018/01/23 09:49:11.855651, 2] smbd/open.c:704(open_file)
[2018/01/23 09:49:11.856629, 2] passdb/pdb_ldap.c:553(init_sam_from_ldap)
[2018/01/23 09:49:11.857472, 2] passdb/pdb_ldap.c:2427(init_group_from_ldap)
[2018/01/23 09:49:11.865573, 2] smbd/close.c:691(close_normal_file)
[2018/01/23 09:49:11.867079, 2] smbd/open.c:704(open_file)
[2018/01/23 09:49:11.867923, 2] passdb/pdb_ldap.c:553(init_sam_from_ldap)
[2018/01/23 09:49:11.868780, 2] passdb/pdb_ldap.c:2427(init_group_from_ldap)
[2018/01/23 09:49:11.871405, 2] smbd/close.c:691(close_normal_file)
[2018/01/23 09:49:11.878218, 2] smbd/open.c:704(open_file)
[2018/01/23 09:49:11.879108, 2] passdb/pdb_ldap.c:553(init_sam_from_ldap)
[2018/01/23 09:49:11.880098, 2] passdb/pdb_ldap.c:2427(init_group_from_ldap)
[2018/01/23 09:49:11.888160, 2] smbd/close.c:691(close_normal_file)

Wyświetlić tylko pierwszy i ostatni wiersz z każdego dnia?

Pozostało 580 znaków

2018-01-28 17:24
0

Możesz je np. zapisywać do vectora i wyświetlać tylko pierwszą i ostatną wartość z niego.


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 0, botów: 1

Robot: CCBot