Jak dodawać znak na koniec stringa?

Odpowiedz Nowy wątek
2014-12-21 12:49
0

Witam. Mam za zadanie napisać funkcję, która pobierze z wejścia n znaków i umieści je w łańcuchu.
Wstępnie chciałem to zrobić tak:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
 
void pobierz(int n, char * tab)
{
  int i = 0;
  char c;
 
  while(i < n)
  {
    c = getchar();
    tab[i] = c;
    i++;
  }
 
  tab[i] = '\0';
}
 
int main()
{
  int ile;
  char *lancuch;
 
  printf("Wprowadz dane.\n");
  printf("Ile znakow pobrac milordzie?\n");
  scanf("%d", &ile);
  getchar();
 
  printf("Podaj ciag znakow\n");
  pobierz(ile, lancuch);
  printf("%s\n", lancuch);
 
  getchar();
  return 0;
}

Jednak program zawiesza się w pętli. Czy istnieją w C jakieś funkcje do łączenia łańcuchów ze znakami?

dodanie znacznika <code class="c"> oraz sformatowanie kodu - @furious programming

edytowany 1x, ostatnio: furious programming, 2014-12-21 13:52
Sformatuj prawidłowo kod, pls. - Westen 2014-12-21 13:09
@Zgredson - wstawiaj kod w znaczniki kolorujące składnię; - furious programming 2014-12-21 13:52

Pozostało 580 znaków

2014-12-21 13:20
1

Formatowanie kodu: http://format.krzaq.cc i używanie <code><code class="c"></code></code>

char *lancuch;

To jest tylko wskaźnik. Pod tym wskaźnikiem nie masz ani tablicy ani zarezerwowanego obszaru pamięci, więc jak chcesz tam wpisywać cokolwiek?

Pozostało 580 znaków

2014-12-21 13:33
0

No fakt, teraz rozumiem. Dzięki wielkie.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0