• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C zmiana znaków char podawanych w argumentach na int

VPS Starter Arubacloud
0 głosów
107 wizyt
pytanie zadane 23 grudnia 2019 w C i C++ przez BezBarwny Użytkownik (700 p.)

siema chce w miejsce fseek(plik, TUTAJ, 0) dac argument podawany z konsoli udało mi sie (przynajmniej tak mi sie wydaje wysłac juz argument przez strukture ale nie potrafie zmienic podanego argumentu w liczbe int próbowałem zrobic to za pomocą atoi w strukturze ale w wyniku zamiast wypisywac interesujacy mnie znak zawsze wypisuje znak rąbu z znakiem zapytani

#include <unistd.h>
#include <pthread.h>
#include <stdio.h>
#include <cstdlib>
#include <string>
typedef struct param {
    int p1,p2,id;
}Param;




bool czy_istnieje(char* arg){
	auto *param = (Param*)arg;
long int m = param->p1;

//sprawdzanie czy plik istnieje jesli nie wysylam false do main
   FILE *plik=fopen(arg, "r");
    printf("Ścieżka pliku: \n%s\n", arg);
    if(plik==NULL){
        printf("plik nie istnieje\n");
        fclose(plik);
        return false;
        }
    else    {
    //jesli istnieje to wysylam true
        printf("Plik znajdujacy się w ścieżce %s istnieje\n", arg);
         fseek(plik, m , 0);
         printf("%c\n", fgetc(plik));
        fclose(plik);
        return true;
    }
}


void *thread_function(void *arg) {
    auto *param = (Param*)arg;
    long int m = param->p1*param->p2;

    printf("ID watku to: %d\nTID: %lu \n",param->id,pthread_self());
    return (void*)m;
}

int main(int argc, char **argv) {
    int rfv = argc;
    int err;
    int cnt,id=1;
    Param param;


    int w = (rfv) / 2;
    long int MOut[w];



    if(argc==4){
        if(!(czy_istnieje(argv[1])))
        for(cnt = 1; cnt < (rfv - 1); cnt+=2) {
            param.p1 = atoi(argv[cnt]);
            param.p2 = atoi(argv[cnt+1]);
            param.id = id;
            id++;
            

            if(err != 0)
                fprintf(stderr, "Error creating the thread");
        }
        
    }
    return 0;
}

a

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 694 wizyt
pytanie zadane 11 grudnia 2019 w C i C++ przez amtrax Dyskutant (9,630 p.)
0 głosów
2 odpowiedzi 521 wizyt
pytanie zadane 24 października 2019 w C i C++ przez KumberTwo Dyskutant (8,270 p.)
+1 głos
3 odpowiedzi 355 wizyt

92,452 zapytań

141,262 odpowiedzi

319,078 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...