Pobieranie wpisywanego tekstu, formatowanie tekstu.

0

Cześć, dzisiaj zacząłem pisać program, bawię się, zobaczymy co z tego wyjdzie.

Mam kilka problemów, ktoś pomoże rozwiązać?

ROBIĘ W KONSOLI!

  1. Jak pobrać wpisany tekst.
  2. Jak sformatować np. jak w pawn format(s, sizeof s, "cos-%s", tekst);

W razie kłopotów będę dopisywał.

Mój dotychczasowy kod :

[code]#include <cstdlib>
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[])
{
if(CopyFile("text.txt", "folder/text.txt", false) == true)
{
cout << "Skopiowanie powiodlo sie!\n";
}
else
{
cout << "Skopiowanie niepowiodlo sie!\n";
}

system("PAUSE");
return EXIT_SUCCESS;

}

[/code]

0

Dziękuje za linki, ale chciałbym prosić o wytłumaczenie, lub link w języku polskim, umiem z deka angielski, ale żeby nauczyć się czegoś, będzie większy kłopot.

0

Jeszcze większy kłopot będziesz miał programując, a nie znając angielskiego :P

0

Patryk - umiem angielski, ale wolałbym w języku polskim (PS. z cinem sobie już poradziłem, tylko to formatowanie coś nie rozumiem)

Teraźniejszy kod :

[code]#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <stdio.h>

using namespace std;

int main(int argc, char *argv[])
{
char a[50], buffer [256];
cout << "Prosze podaj nazwe modyfikacji : \n";
std::cin >> a;

if(CopyFile(a, buffer, false) == true)
{
  cout << "Skopiowanie powiodlo sie!\n";
}
else
{
  cout << "Skopiowanie niepowiodlo sie!\n";
}

system("PAUSE");
return EXIT_SUCCESS;

}

[/code]

Chodzi mi oto teraz, aby buffer przyjmował
C:\Documents and Settings\Przemek\Dane aplikacji.Minecraft[TUTAJ TEXT Z TABLICY A]

0
#include <fstream>
#include <vector>
//...
int main()
{    
    ifstream in ("text.txt");
    vector<string> linePack;
    string line;
    while(getline(in, line))
        linePack.push_back(line);

    for(int i = 0; i < linePack.size(); i++)
        cout << linePack[i];

    return 0;
}
0

Dawno to zrobiłem, mój kod wygląda tak:

#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <stdio.h>


using namespace std;

int main(int argc, char *argv[])
{
   char a[50], buffer [256], b[50];
    cout << "Wpisz co chcesz zrobic (save/modyfikacja)";
    std::cin >> b;
    if(!strcmp(b, "save"))
    {
    cout << "Prosze podaj nazwe savu : \n";
    std::cin >> a;
    int n;
    n=sprintf (buffer, "C:\\Documents and Settings\\Przemek\\Dane aplikacji\\MinecraftTest\\%s", a);
    if(CopyFile(a, buffer, false) == true)
    {
      cout << "Skopiowanie powiodlo sie!\n";
    }
    else
    {
      cout << "Skopiowanie niepowiodlo sie!\n";
    }
}
else
{
    cout << "Tryb nie dokończony!\n"; 
}
  
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

Teraz mam inne problemy, zaraz edytuje pierwszy topic!
Nie mogę jednak, piszę nowy temat tem można zamknąć!

0

W tym kodzie są większe niedociągnięcia niż powtarzanie std przed cinem. Kwestia pierwsza to nielimitowane wpisywanie do buforów, tak NIE MOŻNA robić, std::string byłby tutaj najlepszy. Jest to zbyt niebezpieczne i nie powinno być uczone. Dodatkowo można się doczepić do braku wcięć (choć to bardziej utrudnia twórcy), deklaracje i przypisanie zmiennej prawie zawsze umieszcza się w jednej linii, system("PAUSE") jest także mocno niezalecany. Nazwy zmiennych powinny być dłuższe, jednoliterowych używa się jako indeksy (i,j,k, tradycja wywodząca się jeszcze z FORTRANA), lub jak jest to jednoznaczne (x,y współrzędne itp.).

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