Mirki taki przykład, mam serwer w #nodejs i mam jakiś program w #ansic, który przyjmuje dane z stdin, coś z nimi robi i wypluwa na stdout. Jak wykorzystać ten program (napisany w c) w nodzie? Mam kilka pomysłów:
1. Uruchomić ten program w nodzie za pomocą child_process.spawn
2. Zrobić z tego programu moduł node'a i użyć go za pomocą require
3. Zrobić nasłuchiwanie na jednym porcie i przekierować otrzymane dane
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak sądzicie które rozwiązanie jest najlepsze i dlaczego?


@ufik78: ktore rozwiazanie jest najlepsze DO CZEGO? Do zabawy? Wszystko jedno
Do przetwarzania miliardów zapytań na sekunde? Pewnie postawienie tego programu przez CGI
  • Odpowiedz
Cześć! #naukaprogramowania #ansic

Mam problem z prostym programem - chcę napisać porównywator ilości znaków we wpisanym przez użytkownika ciągu, jednak napotkałem problem.
Program owszem i działa, ale nie zawsze porównuje dobrze, wygląda to jakby to robił losowo lub w jakiś bardzo dziwny sposób. Ma ktoś chwile zerknąć na problem? Język to C.

#include
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@lkp0: Mam dodaną.
Mniej więcej wygląda to tak, że muszę zbudować polecenie do mikrokontolera, pierwszy człon mam stały a drugi jest obliczany na podstawie zawartości pliku. Część obliczana to 3 liczby w formie tablicy char[3], które biorą się stąd, że program oblicza ilość liter w każdym zdaniu w pliku. Sprawdzanie jest w pętli while, która tak długo sprawdza, aż nie pojawi się znacznik EOF. W tej pętli obliczana jest poprzez
  • Odpowiedz
Mirki, pisząc w #ansic mogę zmienić kolor tekstu/tła w konsoli np. w taki sposób:

printf("%c[%d;%d;%dm", 0x1B, 0, 31, 47);
Ale co zrobić, gdy zamiast zmienić kolor, konsola wypluwa dosłownie ten ciąg (kwadracik, a po nim [0;31;47m)? To się dzieje tylko u mnie na PC, na lapku wszystko gra. System ten sam - Windows 10.

A może jest lepszy sposób na to? Chodzi o zmienianie koloru tylko wybranych tekstów, nie chcę całej konsoli przemalowywać.
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki mam problem przy którym lekko utknąłem.
Mam funkcję, która jako argument przyjmuje nazwę pliku. Ogólnie koncept jest taki, że z pliku wczytuje znak po znaku i mając ich liczbę alokuje pamięć dla dwuwymiarowej tablicy (char ** tab). I w zasadzie dobrze to działa wewnątrz funkcji, ale kiedy program wychodzi z funkcji to zwalniana jest pamięć ta zaalokowana w funkcji i tablica dalej jest pusta. Jest jakiś sposób żeby zaalokować pamięć dla
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Wyrewolwerowanyrewolwer: Ok, już wiem co masz źle. Malloc zwraca adres który jest początkiem obszaru przydzielonej pamięci. W środku funkcji to działa bo masz przypisany ten nowy adres. Niestety, ale wydaje mi się że musisz zwracać tą funkcją adres tego nowego obszaru.
Więc albo zwracasz char**
Albo robisz funkcję która przyjmuje wskaźnik na wskaźnik do dwuwymiarowej tablicy charów :D
  • Odpowiedz
@janek_kos: pojedynczy zamienia nazwę zmiennej na string, podwojny wstawia w wyraz nazwę zmiennej np int ##zmienna##_v1;
da po rozwinieciu int tekst_ktory_byl_zaamiast_zmienna_v1;
  • Odpowiedz
1. Pisz przez jakiś czas w C++.
2. Zacznij pisać w C, bo masz wstęp do programowania w C.
3. Kompiluj na linuxie używając gcc.
4. Napisz trochę kodu w C++, robisz hobbystycznie parser.
5. Skompiluj.
6. Głów się 30 minut dlaczego wyskakują ci błędy.
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@shido: Aby zrozumieć ten dowcip polecam zacząć lekturę od The C Programming Language (Second edition) - Brian W. Kernighan and Dennis M. Ritchie potem Programming: Principles and Practice Using C++ - Bjarne Stroustrup. W tym momencie, dobrze jest przeczytać Head First OOA&D od O"REILLY. Gdy ogarniesz te podstawy możesz lecieć na głębsza wodę i czytasz Thinking in Java by Bruce Eckel. Potem jeszcze powinieneś przeczytać Dive Into
  • Odpowiedz
cześć! otrzebuję analogicznej funkcji do tej:

long code;
scanf("%ld", &code);

ale string wprowadzany z klawy ma być zapisywany do tablicy(?) potrzebuję do tego funkcji zamieniającej pojedyncze chary na ciągi bitów, np, char $ bedzie zamieniany na np. 10101010. potem te bity mają być transferowane (kolejna funkcja, nie wiem czy istnieje) do socketa z którym się łączy. Słyszałem, że funkcje można samemu pisać. Potrzebuję wskazówek.

#naukaprogramowania #ansic
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mircy ! czy jesli napisze socket w C++ to bede mógł odpalić to w unixie? BSD przykładowo. Pytanie laika, ale wolę spytać.

A czytałem, że można definiować swoje funkcje, np. przy przywołaniu zwracają wartość 1,0. czy instnieje funkcja "zbierająca" je do pliku? jeśli tak, jak określić "scieżkę" z której ma sciągać pojedyncze bity z określonych wcześniej funkcji?

Dotychczas uczyłem się samego C, ale zacząłem poznawać ++; zastanawiam się, czy to ze sobą
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach