Drogie mirki nie wiem czemu mam problem z fstream. Coś nie chce mi czytać pliku w funkcji do której przekazuję orginalny obiekt fstream (uchwyt na plik otwarty z out, in, ate).

void showBook(fstream& plik){
string dane;
if(plik.good()==true){
while(!plik.eof()){
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #clion #sfml #cpp
Hejka Mirki potrzebuję pomocy z biblioteką sfml. Ponieważ korzystamy na uczelni z cliona to odstawiłem codeblocka. I teraz mam problem bo nie potrafię tego dołączyć ( ͡° ʖ̯ ͡°) Najpierw mi wyskakiwał błąd gdy dołączałem odpowiednią formułkę do CmakeList.txt ale jakoś odnalazłem rozwiązanie i nic mi nie wyskakiwało już na czerwono. Ok więc wklejam napisany wcześniej kod i otrzymuję
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki mam funkcję, która zwraca fstream. Jeśli plik się nie otworzy chciałbym sobie z niej wyjść. Najlepiej coś na wzór return, jednak tutaj tego nie da się zrobić, bo funkcja jest non-void. Exit tak samo nie działa z uwagi na non-void XD

fstream otworzBaze(string nazwaPliku){
fstream plik;
plik.open(nazwaPliku, ios::in|ios::out);
if(plik.good()!=true) {cout <<"BŁĄD OTWARCIA BAZY KSIĄŻKI!\n"; exit();}
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Chciałbym trochę bardziej ogarnąć vima pod programowanie.

Co polecacie do vim-a, żeby zrobić z niego IDE? Jest jakiś najlepszy config w necie do tego? Znalazłem przynajmniej dwa ale oba z nich są częściowo nieaktualne.

Chciałbym mieć jakąś podstawę pod zabawę ale nie mam czasu zajmować się i ogarniać każdego z osobna.

Poleciłby
  • 23
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Metoksyfenidyna9: Nie, to się robi zupełnie inaczej.
Najpierw z przeładowanej metody QAbstractItemModel::flags zwracasz że dany element jest edytowalny.
QListView gdy przechodzi do edycji (standardowo dwuklik) elementu tworzy nowy Widet do edycji, pobiera z modelu rolę Qt::EditRole, zamiast Qt::DisplayRole, dzięki temu możesz zwrócić same hexy bez prefixu, a po edycji wykona na twoim modelu setData, gdzie możesz podmienić w buforze sobie tylko te bajty dla danej linijki.
  • Odpowiedz
#cpp
Cześć, możecie mi doradzić jakiego kontenera powinienem użyć aby zachować jakąś wydajność?
Mianowicie potrzebuję zrobić tablicę ostatnich, powiedzmy, 100 położeń kursora, jednak będzie ona stale aktualizowana.
Starsze pomiary są przesuwane w tył tablicy aż całkiem z niej spadną. Problemem jest potrzeba zachowania tego w ciągłym obszarze pamięci - za chwile będzie to robiło za wektor w obliczeniach macierzowych.
Teraz rozważałem opcje:
- std::list wydaje się stworzona do tego. Pushfront + popback robi
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MamCieNaHita: boost::circular_buffer faktycznie jest najlepszy, ale nie nie jest ciągły, dokładnie składa się z dwóch ciągłych sektorów.

@kamilspl: Zapomniałeś albo nie doczytałeś dobrze dokumentacji, w której znajduje się jeszcze typ std::deque.
Jeżeli musisz mieć ciągłą przestrzeń na 100 położeń kursora, to jak najbardziej ten typ jest jedynym rozwiązaniem, pomimo że co jakiś czas będzie re alokował pamięć.

Jeżeli jednak mnożenie macierzy jesteś w stanie zrobić na dwie
  • Odpowiedz
#anonimowemirkowyznania
(Jeśli nie lubisz długich historii to przeskocz do ostatniego akapitu)

Studiuje programowanie. Obecnie 3 semestr, nie mam problemów ze zdaniem ale poza obowiązkowymi zajęciami sam z siebie nic nie robię. Chociaż mam czas i wewnętrznie mnie to gryzie że marnuje go na spanie, granie w gry, przeglądanie Mirko czy oglądanie filmów/filmików.

Mój problem z podejmowaniem inicjatyw polega na tym, że jeśli nie wiem na czym stoję to się na to
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Kamyki_w_bucie: Linia 31, próbujesz dodać jeden wskaźnik do drugiego (czyli de facto jeden adres pamięci do drugiego). Nie przeciążyłeś operatora + dla takich operacji, więc albo musisz to przeciążyć, albo zamiast wskaźników operuj bezpośrednio na wartościach (*x, *y).
  • Odpowiedz
#cpp #cpp11 #programowanie #kompikownia
Witajcie :) Słyszeliście o tzw. wyrażeniach lambda? Nie? To dobrze, bo właśnie teraz masz okazję je poznać :)
Zapraszam do lektury mojego najnowszego wpisu poświęconego wyrażeniom lambda.
https://www.kompikownia.pl/index.php/2018/12/15/wyrazenia-lambda-uzyteczna-nowosc-c11/
Jeśli ci się podobało, nie zapomnij o like'u na moim fanpage.
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowaie #cpp
@KrzaQ2 ty będziesz pewnie wiedział :) Używanie uint8_t zamiast int jako iteratorów w pętlach for nie niesie za sobą korzyści? Pomijając już to że to jest błędogenne jak niechcący wyjdziemy poza zakres.
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 2
@zwei nie widzę powodu aby używać uint8_t wszystkie operacje i tak promują do int. Chyba że zależy Ci na przekręceniu po 255
  • Odpowiedz
@rosso_corsa: Oczywiście, i jest to banalnie proste. Ściągasz relacyjną baze danych, np. MySQL. Potem ją instalujesz i konfigurujesz. Następnie tworzysz tabele z trzema kolumnami int, double i string(text). To jest:
create table osoba(pesel char(11), imie varchar(255), wartosc double);. wrzucasz do niej dane tyle ile chcesz i kiedy chcesz. No i potem dopisujesz do programu laczenie sie z baza danych i pobieranie danych przy uzyciu select
  • Odpowiedz
Mirki z #programowanie #android #jezykc #cpp dlaczego nie zwrócenie wartości w funkcji powoduje, że procesor wyrzuca illegal instruction? Architektura #arm Co się takiego dzieje, bo wygląda jakby program counter miał wtedy nieprawidłową wartość i program "poszedł w krzaki". #pytaniedoeksperta
wypoksmieszneobrazki - Mirki z #programowanie #android #jezykc #cpp dlaczego nie zwró...

źródło: comment_Zf4WeNONGuyJW74iVNBP8uEMobiDjnHI.jpg

Pobierz
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MrBanana:

Dużo programistów zmieniało języki i technologie w czasie swojej kariery zawodowej. Raczej nawet nie powinieneś się nastawiać na to, że przez całe życie będziesz pisał w tym samym. No i jak zmieniasz język a jesteś doświadczonym programistą to nie wiąże się to z cofnięciem się do poziomu juniora
  • Odpowiedz
@MrBanana: załóżmy że masz zespół - może dwóch seniorów, kilku regularów, jakiś junior, piszą w Javie. Uznają że następny projekt zrobią powiedzmy w Kotlinie - nagle wszyscy stają się juniorami? Nie ma czegoś takiego jak "junior tego języka"
  • Odpowiedz