#cpp
Pytanie na szybko. Jak zapisać 4 dynamiczne tablice typu char do pliku gdzie różnią się liczbą elementów w tablicy ?
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@look997: Potraktuj dane wejściowe jako wskaźnik na początek danych i ich rozmiar, tak jak z grubsza Ci @darsto powiedział. Jest to najbardziej uniwersalna forma. Można zrobić write dla każdego typu prostego, aczkolwiek najprawdopodobniej takie przeciążenia były by rzadko używane i zaśmiecały by interfejs. Zauważ, że fstream jest częścią większej gruby funkcji pracujących na strumieniach czyli właśnie takich blokach danych o dużych rozmiarach. Strumienie załatwiają konwersję typów prostych na takie
  • Odpowiedz
Mam prostą implementację stosu. Dodaję do dwóch stosów losowe liczby i problem jest taki, że nie zawsze się one dodają. Gdy próbuję je wypisać nic się nie pojawia. W dodatku czasem przy kolejnym uruchomieniu programu, na stos wlatują identyczne wartości jak przy poprzednim odpaleniu. Nie wiem jak to możliwe, skoro dałem srand(time(NULL)). Metoda main() od 65 linijki.
Jak się kilka razy poklika przycisk run, to wtedy pięknie widać o co mi
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Matt23: srand(time(NULL)) ustawia ziarno według czasu w sekundach, jeśli dwukrotnie odpalisz program w tej samej sekundzie to będziesz miał takie same rezultaty.

Dodatkowo pamiętaj, że NULL jest zdefiniowany jako 0. "tmp->data = NULL;" i przede wszystkim "if (s->data == NULL) return 1;" nie działa tak, jak zakładasz - pamiętaj że data to typ prosty int, a nie wskaźnik. Przez tę drugą linijkę jeśli na górze stosu pojawi się wartość 0
  • Odpowiedz
@Analityk: Mam za zadanie napisać stos strukturalnie i to w dodatku w języku C, niestety. Metody które stworzyłem mają znaleźć się w implementacji, takie wymaganie. W dodatku program ma obsługiwać wiele stosów, dlatego zrobiłem to w ten a nie inny sposób.

Jakie są twoje intencje wobec tego stact** t

Jeśli chcę z poziomu funkcji zmienić pamięć na którą wskazuje pointer, to muszę w deklaracji użyć dwóch gwiazdek. Tak przynajmniej wyczytałem
  • Odpowiedz
Takie pytanie podstawowe, ale raczej z takich którymi się chyba mało osób zastanawia.

O ile zmienna sobie zajmuje ileś miejsca i jest to jasne bo wynika to z typu zmiennej, to już nie wiem ile zajmuje "nazwa" typu zmiennej.

Typ zmiennej informuje jakiego rozmiaru jest zmienna. Ile zajmuje ta informacja o rozmiarze?
W rzeczywistości nie tylko o rozmiarze ale też czy jest to zmienna całkowita, zmiennoprzecinkowa, znakowa, logiczna albo struktura złożona itp.
  • 22
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • Doceń
#programowanie #sql #cpp

Ten uczuć gdy płaczesz, bo są jakieś błędy w 400+ linijkowej procedurze SQL liczącej hajs i mającej w sobie 59 zmiennych, z których niektóre zadeklarowane zmienne nazywają się w dany sposób chyba dla zmyły, fory w forach i jakieś 10+ kombinacji przebiegów po całej drabinie ifów...


  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki taka zagwozdka. Pewnie dla wykopowych specow od C/C++ to nie bedzie zaden problem.
extern volatile int i;
extern volatile int j;
void f()
{
int x = i + j;
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@simia: well defined
Wartości i i j są losowe. Wynik jest losowy. volatile odpowiada za brak optymalizacji użycia zmiennych (a raczej za odwoływanie się pod konkretne adresy bez względu na to co kompilatorowi się wydaje).
  • Odpowiedz
Robi to parametr -g w pliku Makefile. Niby znane ale nie pomagało do tej pory, ale to dlatego że kompilator twierdził zawsze że is up to date. bo sam kod programu testowego się nie zmieniał i dlatego plik wynikowy nie miał danych do debugowania które daje parametr -g.
  • Odpowiedz
@look997: no to znaczy, że nie jest ustawione. Sprawdziłem u siebie, działa.
(gdb) set substitute-path '/home/me/src/foo' '/foo/src'
(gdb) show substitute-path
List of all source path substitution rules:
/home/me/src/foo' -> /foo/src'.
  • Odpowiedz
@look997: Rozwiązanie:
Do pliku /etc/gdb/gdbinit dodałem:
set substitute-path /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/ /usr/include/c++/6.3.1/

I gotowe.
  • Odpowiedz
#programowanie #cpp #gdb #gpp #linux #visualstudio #visualstudiocode
Gdy kliknę "Start Debugging" a potem "pause" to pojawia się Error:
Unable to open 'stdiosyncfilebuf.h': File not found (/build/gcc/src/gcc-build/x8664-pc-linux-gnu/libstdc++-v3/include/ext/stdiosyncfilebuf.h).

Trzeba jakoś do gdb podlinkować biblioteki w pliku launch.json? A może jakiś atrybut do
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • Doceń
Rozwiązanie kwestii błędu "Unable to open":
Do pliku /etc/gdb/gdbinit dodałem:
set substitute-path /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/ /usr/include/c++/6.3.1/

I gotowe.
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#cpp
Cześć, pracuję jako programista od jakiegoś 1,5 roku, ale ciągle pisanie "dobrego" kodu sprawia mi problemy.
Przykładowo chcę napisać metodę pobierającą jako argument wejściowy słowo np. dodaj(trzy).
Powinienem zastosować namespace, define, czy enum?
Kiedy kiedy zrobić tablicę [m][n] a kiedy [m*n]?
Kiedy używać klas, a kiedy struktury?
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@CichyGlosZTyluGlowy: variant się liczy ? Sens był taki, że potrzebowałem rozszerzyć obiekt o klucze do tabel:
- id
- 2 id
- id + date.
...
Poliformizmu (dynamicznych alokacji) nie mogłem użyć, bo trzeba to było osadzić w legacy code, gdzie lecą memcpy i memsety.
  • Odpowiedz
Czy moje zabawy z szablonami(szczególnie klasa test na dole gista) mają sens(abstrahując póki co od tego czy samo liczenie norm jest efektywne etc.). Jeśli nie to jak to zrobić ładniej?

klik

#cpp
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#linux #programowanie #c #cpp

W Code::Blocks była funkcja dla c AVR że można było zajrzeć do nagłówka załadowanej biblioteki (tych nie z własnego projektu tylko tych globalnych bibliotek).
Chciałbym coś takiego dla Visual Studio Code. Ewentualnie linkowanie prosto do dokumentacji tych bibliotek.
Jeśli czegoś takiego nie ma to chociaż jaką stronę z porządną dokumentacją poproszę. :)
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • Doceń
Męczę takie jedno zadanie już jakieś 1,5 tygodnia i nie potrafię tego ruszyć.
Podobno banalne. Przynajmniej tak mówi mi osoba, która miała cpp w liceum + matę na wysokim poziomie a ja najzwyczajniej w świecie nie trybię.
Jest na sali osoba potrafiąca mi to wyjaśnić step by step? Jakoś się odwdzięczę. (,)

#cpp #naukaprogramowania
zortabla_rt - Męczę takie jedno zadanie już jakieś 1,5 tygodnia i nie potrafię tego r...

źródło: comment_4JV6T3j2xhfZufWZe1dLTlZnjgFN8yDw.jpg

Pobierz
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach