Jump to content

Search the Community

Showing results for tags 'malloc'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Web Development
    • HTML e CSS
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets and other environments
    • WordPress
    • Mobile
    • Agile
    • Desenvolvimento de Games
    • Banco de Dados
    • Design and UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • iMasters's pub

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 4 results

  1. Peguei esse codigo da internet, e estou tentando modificar ele para ficar do jeito que preciso, peguei ele sem funcao e preciso de funcao para cada acao e apos criar a funcao de cadastro apenas para teste nao salva a variavel no arquivo binario. #include <stdio.h> #include <stdlib.h> #include <string.h> struct Contato{ char nome[100]; int telefone; }; struct Contato *agenda; FILE *fp; int cadastra(int n, int cap){ fp = fopen("xxx.dat","a+b"); if(n == cap){ cap *= 2; agenda = realloc(agenda, sizeof(struct Contato)*cap); } printf("Digite o nome: "); scanf(" %[^\n]", agenda[n].nome); printf("Digite o telefone: "); scanf("%d", &agenda[n].telefone); fwrite(agenda, sizeof(struct Contato), n, fp); fclose(fp); return n++; } int main(){ int cap; int n; int opc; int i; struct Contato *agenda; FILE *fp; fp = fopen("xxx.dat","rb"); printf("N; %d \n", n); if(fp==NULL){ n = 0; cap = 20; agenda = (struct Contato *)malloc(sizeof(struct Contato)*cap); } else{ fread(&n, sizeof(int), 1, fp); cap = n*2; agenda = (struct Contato *)malloc(sizeof(struct Contato)*cap); fread(agenda, sizeof(struct Contato), n, fp); fclose(fp); } do{ printf("*** Menu ***\n"); printf("1) Cadastrar contato.\n"); printf("2) Exibir contatos.\n"); printf("3) Apagar.\n"); printf("4) Sair.\n"); scanf("%d",&opc); switch(opc){ case 1: printf("n %d\n", n); n = cadastra(n, cap); printf("n %d\n", n); break; } if(opc==2){ for(i=1; i<4; i++){ printf("*** Contato %d ***\n",i+1); printf("Nome: %s\n",agenda.nome); printf("Telefone: %d\n",agenda.telefone); } printf("N; %d \n", n); } else if(opc==3){ char nome[100]; int j; scanf("%s",&nome); for(i=0; i<n; i++){ if (strcmp(agenda.nome, nome)==0){ for(j=i+1; j<n; j++){ strcpy(agenda[j-1].nome,agenda[j].nome); agenda[j-1].telefone=agenda[j].telefone; } n--; i=n; } } } }while(opc!=4); if(n>0){ fp = fopen("xxx.dat","wb"); fwrite(&n, sizeof(int), 1, fp); fwrite(agenda, sizeof(struct Contato), n, fp); fclose(fp); } free(agenda); return 0; }
  2. Salve! Estou tentando escrever em uma string (ponteiro alocado dinamicamente) através de uma função alimentada por um ponteiro Codigo de exemplo: #include <stdio.h> #include <stdlib.h> #include <string.h> void teste (char *str) { str = (char*)malloc(sizeof(char)*(strlen("teste"))); strcpy(str, "teste"); printf("%s", str); } int main() { char *str1 = NULL; teste(str1); printf("|%s", str1); return 0; } A intenção é que a saída seja algo do tipo: teste|teste porém o resultado é: teste|(null) Acredito que por estar enviando como referência o str1 ele deveria ser alterado pela função, e portanto permanecer como o mesmo valor de str (que aponta para ele), porém isso não acontece. Como deveria proceder para conseguir o resultado desejado? Agradeço!
  3. #include <iostream> #include <cstdlib> using namespace std; struct Page { int a; Page* b; }; int main(int argc, char *argv[]) { int size = 5; Page* p = (Page*) malloc(sizeof(Page)); p->a = 5; p->b = (Page*) malloc(sizeof(Page) * size); for (int i = 0; i < size; i++) { p->b[i] = NULL; } cout << p->b[3] << endl; return 0; } A ideia era criar uma página onde dentro teríamos um array de páginas inicialmente nulas. Mas por algum motivo eu não estou conseguindo criar o array interno. Pois quando tento instanciar o valor nulo para as células do array, o compilador informa que não é um array e não pode acessar. Antes de qualquer coisa, realmente necessito que seja uma alocação dinâmica. Grato desde já pela ajuda...
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.