Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - petr_bures

Stran: [1] 2
1
Vývoj / Re:Objasnění chyb v C++
« kdy: 23. 02. 2020, 23:45:01 »
V C++ můžete s řetězci pracovat v zásadě dvojím způsobem - buď nízkoúrovňově, což se jedná o buffer se sekvencí bytů ukončený nulovým bytem (neuvažuji teď UTF16 kódování) - pokud tento buffer někam chcete předat, často předáváte jen adresu jeho pořátku (pointer typu char *).
Nebo můžete používat nějaký wrapper nad bufferem, který poskytuje obvyklé řetězcové funkce. Dřív si mnohé knihovny definovaly svůj warpper (QString, wxString, atd.), teď už jeto naštěstí standardizováno v std::string apod. třídách.

V kódu používáte funkci remove(char*), která očekává adresu nízkoúrovňového bufferu, ale vy jí předávat zaobalovací typ.
Musíte tedy v tomto případě předat adresu bufferu, který je zaobalen. std::string na to má metodu c_str(), takže v kódu použijete výraz remove(file.c_str()).
Díky a to je řešní, aby se vlk nažral, nebo je to správně?

2
Vývoj / Re:Objasnění chyb v C++
« kdy: 23. 02. 2020, 23:41:50 »
A jak poznám, že je to kód pro C a ne pro C++?

3
Vývoj / Re:Objasnění chyb v C++
« kdy: 23. 02. 2020, 22:12:53 »
No to jsi mě nikam neposunul..  :)

4
Vývoj / Objasnění chyb v C++
« kdy: 23. 02. 2020, 20:48:27 »
Tento kód mě vypisuje 6 chyb, proč? Dělal jsem to podle tutoriálu a výsledek tohle  >:(
Kód: [Vybrat]
#include <iostream>
#include <vector>
#include <string>

using namespace std;

string filesPath = "\\Users\\Petr\\Documents\\Temp";

vector<string> txt;

int i = 0;

void delfile(const string file){
          if (remove(file)) {
                    cout << "Error!";
          }
          else {
                    cout << "Success!";
          }
}

void addtxt() {
          txt.push_back("aaaaaaaaaaaaaa");
          txt.push_back("bbbbbbbbbbbbbb");
}

int main(){
          addtxt();
          delfile(filesPath + "\\" + txt[i]);
}



Kód: [Vybrat]
Chyba (aktivní) E0413 Neexistuje žádná vhodná funkce pro převod z "const std::string" na "const char *". program C:\program.cpp 14
Chyba C2664 int remove(const char *): Nejde převést argument 1 z: std::string na: const char *. program C:\program.cpp 14
Chyba C2146 Chyba syntaxe: Chybí ; před identifikátorem cout. program C:\program.cpp 14
Chyba C2429 vlastnost jazyka příkazy init-statement v if/switch vyžaduje příznak kompilátoru /std:c++17 program C:\program.cpp 14
Chyba C2059 chyba syntaxe: << program C:\program.cpp 14
Chyba C2181 neplatné else bez odpovídajícího if program C:\program

5
Tady jsem něco našel, ale nejde mi to, třeba na to nějaký profík mrkne..

Kód: [Vybrat]
https://stackoverflow.com/questions/2496857/is-there-a-function-in-c-that-does-the-same-as-raw-input-in-python

6
knihovna readline - hmm, je pod GPL, ale našel jsem https://github.com/antirez/linenoise

knihovna ncurses

je to opruz a jeden z důvodů, proč preferuji psát programy v Pythonu a když potřebuju něco céčkového (lowlevel nebo výkon), tak z toho vyrobím modul přes CFFI

možná by šlo použít program rlwrap nebo rlfe (ten mi teď poradilo apt), který ti to tam dodělá

Jenže v Pythonu z toho ve výsledku neudělám jeden přenositelný soubor, tam kde to budu chtít spustit musím všechno nainstalovat. A ta ukázka taky není běžně v knihovně, musí se doinstalovat kdo ví co všechno :(

PS jedná se mi o Windows terminál

7
šimrá mě v zátylku ungetc() .

Nevím jestli jsi to pochopil, hledám způsob jak je to tady, Po spuštění se hned vloží text který v tom řádku můžu editovat. Je to ukázka z pythonu.
https://i.stack.imgur.com/8ikmg.gif

8
Neni jednodussi vypsat "Zadejte vase jmeno (Petr):" A pokud uzivatel to odbouchne entrem, jmeno bude Petr...

Tak to nechci

.. jinak vstup z console?  :-)
??


9
Vývoj / Vložení editovatelného textu do konzole v C++
« kdy: 22. 02. 2020, 22:44:15 »
Ahoj, můžu k tomuto scriptu (nebo jinému) přidat nějaký text, který se vloží do terminálu pokud zavolám tento kód?
Příklad, spustím tento kód a vytiskne se
Zadejte vaše jméno:
chci aby se vytisklo
Zadejte vaše jméno:Petr
a přitom ten text Petr za dvoutečku aby šel v rom řádku editovat.

Kód: [Vybrat]
string name ;
cout << "Zadejte vaše jméno:";
getline(cin, name ) ;
cout << "Hello " << name << endl ;


Díky

10
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 22. 02. 2020, 13:17:02 »
Jak spočítat ve vektoru počet položek - nemožné - 4 hodiny života - bez výsledku. Fakt nevím..

Kód: [Vybrat]
vector<int> a;
int velikost;
velikost = a.size();

Tři minuty googlení :-)

Jistě, tři minuty googlení, na webu je spousta rad o ničem - prostě nefungují.

11
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 22. 02. 2020, 13:12:48 »
ANSI sekvence ESC25l vam nefunguje?
Asi nefunguje :(

Tak asi nebo urcite??? Zkousel jste to?

Jasně, že jsem to zkoušel, ono se to tváří, že je to ok, ale realita je někde jinde. Na tohle byl nejlepší ncurses.

12
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 20. 02. 2020, 23:19:34 »
Nebylo by opravdu lepší začít s něčím lehčím a menším?
Zkusím pokračovat s tím C++, tam aspoň dokážu něco napsat. Tohle má sice doku česky ale žádné základy co je co tam nepopisují.

13
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 20. 02. 2020, 22:43:25 »
ANSI sekvence ESC25l vam nefunguje?
Asi nefunguje :(

Tak jsem to všechno stáhl a nainstaloval, vytvořil jsem nový projekt ve Visual Studio 2019 a v Test.cs mám

using System;

Kód: [Vybrat]
namespace Test
{
          class Program
          {
                    private static void Main()
                    {
                              Console.WriteLine("Hello World!");
                    }
          }
}

Nikde nevidím, že bych volal tu třídu, jak to, že to funguje?

PS: C# funkce neumí? Nemůžu to najít. Díky

14
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 20. 02. 2020, 18:49:21 »
Zatím se mi tedy nejvíc líbí C#, sice nevím ani jak se to čte (asi cékřížek?)  8) ale asi to zkusím.
Když něco hledám a dám k tomu C# vždy to najde nějaký .NET Framevork, jaký je mezi nimi rozdíl?
.NET Framework vs .NET Core. Dá se to popsat jednou větou? Díky

15
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 20. 02. 2020, 18:41:21 »
Tak když ho C++ zklamalo obtížností vypnutí kurozoru v terminálu, tak je v první řadě potřeba říct, že takové věci neřeší žádný programovací jazyk.
Aha - tak to je ale velmi důležitá informace..

Stran: [1] 2