Citace od: mudrlant kdy 23. 02. 2020, 23:25:33Díky a to je řešní, aby se vlk nažral, nebo je to správně?
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()).
Zde lze prohlédnout všech příspěvky uživatele. Jsou zde vidět pouze příspěvky z oblastí, do kterých máte přístup.
#1
Vývoj / Re:Objasnění chyb v C++
23. 02. 2020, 23:45:01 #2
Vývoj / Re:Objasnění chyb v C++
23. 02. 2020, 23:41:50
A jak poznám, že je to kód pro C a ne pro C++?
#4
Vývoj / Objasnění chyb v C++
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
Vývoj / Re:C++ Jak vložit nějaký text do konzoly který by šel editovat a následně získat
23. 02. 2020, 01:48:33
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
Vývoj / Re:C++ Jak vložit nějaký text do konzoly který by šel editovat a následně získat
23. 02. 2020, 00:46:59Citace od: _Jenda kdy 23. 02. 2020, 00:31:48
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
Vývoj / Re:C++ Jak vložit nějaký text do konzoly který by šel editovat a následně získat
23. 02. 2020, 00:05:08Citace od: František Ryšánek kdy 22. 02. 2020, 23:36:53
š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
Vývoj / Re:C++ Jak vložit nějaký text do konzoly který by šel editovat a následně získat
22. 02. 2020, 23:11:27Citace od: ondrama kdy 22. 02. 2020, 22:59:29
Neni jednodussi vypsat "Zadejte vase jmeno (Petr):" A pokud uzivatel to odbouchne entrem, jmeno bude Petr...
Tak to nechci
Citace od: ondrama kdy 22. 02. 2020, 22:59:29??
.. jinak vstup z console? :-)
#9
Vývoj / Vložení editovatelného textu do konzole v C++
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.
Díky
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
22. 02. 2020, 13:17:02Citace od: František Ryšánek kdy 22. 02. 2020, 09:09:27Citace od: petr_bures kdy 20. 02. 2020, 15:53:28
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
22. 02. 2020, 13:12:48Citace od: neregistrovany kdy 22. 02. 2020, 01:51:47Citace od: petr_bures kdy 20. 02. 2020, 22:43:25Citace od: neregistrovany kdy 20. 02. 2020, 22:01:55Asi nefunguje
ANSI sekvence ESC25l vam 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
20. 02. 2020, 23:19:34Citace od: Cikáda kdy 20. 02. 2020, 23:02:49Zkusí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í.
Nebylo by opravdu lepší začít s něčím lehčím a menším?
#13
Vývoj / Re:Doporučte programovací jazyk pro Windows
20. 02. 2020, 22:43:25Citace od: neregistrovany kdy 20. 02. 2020, 22:01:55Asi nefunguje
ANSI sekvence ESC25l vam 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
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?)
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
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
20. 02. 2020, 18:41:21Citace od: tecka kdy 20. 02. 2020, 17:53:49Aha - tak to je ale velmi důležitá informace..
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.