Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <locale.h>
- int n = 0,
- pos = 0,
- size = 11;
- char *psz = 0,
- sz[100];
- void Init();
- int ReSize();
- ///////////////////////////////////////////////////////////////
- int main() //
- {
- Init();
- L_01: printf("введите слово: "); scanf("%s", sz);
- n = strlen(sz);
- if(pos + n >= size)
- {
- if(ReSize() == -1) return 0;
- }
- strcpy(&psz[pos], sz); pos += n;
- printf("размер введённого слова = %d байтам, позиция для нового слова = %d\n", n, pos);
- printf("%s\n", psz);
- goto L_01;
- return 0;
- }
- ///////////////////////////////////////////////////////////////
- void Init() //
- {
- setlocale(LC_ALL, "Rus");
- psz = (char*)malloc(size);
- printf("Первоначально выделен буфер psz, начиная с адреса: %d\n", psz);
- printf("Размер буфера psz пока равен (свободно) %d-ти байтам.\n", size);
- }
- ///////////////////////////////////////////////////////////////
- int ReSize() //
- {
- size += 11;
- psz = (char*)realloc(psz, size);
- if(psz == 0) { printf("ERROR !!! Почему-то realloc вернул 0\n"); return -1; }
- printf(".......Новый буфер, начиная с адреса: %d, размер = %d байтам.......\n", psz, size);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement