Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''c''



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Fsociety Brasil
    • Administração
    • Sugestões
    • Apresentação de Membros
  • Desenvolvimento
    • Ferramentas
    • Projetos
    • Programação
  • Segurança da Informação
    • Hacker
    • Cracker
    • Leaks
    • Engenharia Social
    • CTF
  • Sistemas Operacionais (S.O)
    • Linux
    • Windows
    • Mac
  • Hardware
    • Tutoriais e Ferramentas
    • Dúvidas e discussões
    • Arduino
    • Raspberry
  • Off-Topic
    • BioHacking
    • Games, Emuladores, Crack, Cheater e afins
    • Cursos, apostilas e livros
    • Ciência, Tecnologia, Sociologia, Filosofia e Psicologia
    • Notícias, novidades, acontecimentos e teorias da conspiração
    • Design
    • Random, dúvidas e discussões

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Local


Sexo

Encontrado 10 registros

  1. Paulo Júnior

    Linguagem C

    É o seguinte galera, como eu posso fazer um programa em C que crie um loop com uma condição com string, tipo, ele pergunta qualquer coisa e enquanto a pessoa não digitar ''exit'' ele continue perguntando eternamente ? Se possivel um loop com while e um com if, mas caso não for possivel com os dois, apenas um esta de muito bom agrado. Obrigado por sua atenção.
  2. Eai rapaziada, beleza? Então to começando a programar em C e estou com dificuldade em fazer um negócio. Eu quero criar uma estrutura e um ponteiro que guarde os valores referentes a cada membro da estrutura. Algo semelhante a isso typedef struct { char nome[20], marca[20]; } ESTRUTURA; int main(void) { ESTRUTURA *ponteiro; int i, quantidade; Ai aqui entra um loop de repetição (for i até quantidade) pra eu associar cada valor do ponteiro->nome, ponteiro->marca. Tanto quanto for necessário. Por exemplo, se eu quiser fazer um cadastro de três marcas por exemplo, eu quero um ponteiro que suporte isso na memória e cada valor aponte pra um membro da estrutura. scanf("%d",&quantidade); ponteiro=(char *) malloc (quantidade*sizeof(ESTRUTURA)); for (i=1;i<=quantidade;i++) { scanf("%s",ponteiro->nome); scanf("%s,ponteiro->marca); } criaArquivo(ponteiro); free(ponteiro); return 0; } Bom, a questão é, eu quero salvar todos os dados cadastrados num arquivo depois. Então, eu criei uma função que recebe o ponteiro em que estão e joga isso pro ponteiro arquivo. E até aqui beleza, ele cria o arquivo, mas o arquivo só salva o primeiro valor da primeira posição de memória. No caso do exemplo que eu dei, digamos que eu quisesse cadastrar 3 marcas e 3 nomes. Ele alocaria dinamicamente o espaço necessário e cadastraria tudo certinho, agora na hora de passar pro arquivo, somente o primeiro nome do primeiro cadastro é salvo. Eu não entendi isso, eu não passei o ponteiro inteiro pra função criaArquivo? Eu estou salvando no arquivo desse jeito void criaArquivo(char *ponteiro) { FILE *arquivo; arquivo=fopen("teste.txt","w"); fprintf(arquivo,"%s",ponteiro); fclose(arquivo); } Se eu pedir na função criaArquivo pra ele printar esse ponteiro que ele recebe, ele não recebe o ponteiro inteiro com todos os dados cadastrados na main, ele recebe somente o valor daquela posição de memória. Somente do primeiro ponteiro->nome. Ai isso é que quebra, porque eu já tentei chamar na main, criaArquivo(ponteiro+1). Achando que a próxima posição de memória teria ponteiro->marca. E ele cria o arquivo sem nada, como se não tivesse valor cadastrado ali Então assim, deixando claro as minhas dúvidas, eu defini um ponteiro com tamanho A bytes. Quando eu passo ele pra outra função, ele não vai com o tamanho A de memória, ele vai somente o valor da primeira célula de memória, certo? Como eu faço pra pegar o resto?
  3. Segue o Link do Canal no Youtube: https://www.youtube.com/playlist?list=PLa75BYTPDNKZWYypgOFEsX3H2Mg-SzuLW Já vi essas aulas e o professor explica muito bem! Ele vai até alocação dinâmica.
  4. gusdnide

    [C#][Proxy Change]Sistema de tunelaçao!

    Proxy Changer Salve galera, venho apresentar esse meu codigo velho que faziar para poder aprovar CC na netflix, pegava um Proxy do pais que desejava (mais precisamente uma lista) e trocava as configuraçoes globais do Windows de proxy, ou seja voce podia acessar qualquer navegador que o seu ip teria mudado!, vai ser bem simples apartir desse meu projeto desenvolvi algo maior que me ajuda até hoje, mas ainda falta alguns concertos ae quando tiver tudo OK eu posto aqui! Bom beleza vamos la , primeiro vamos chamar as bibliotecas que usaremos! using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Runtime.InteropServices; using Microsoft.Win32; using System.Net; using System.Threading; using System.IO; Ok, ja com as bibliotecas importadas, vamos adicionar nossas referencias que vamos chamar das API do windows ou especificamente da "wininet.dll" ok. #region Referencias [DllImport("wininet.dll")] public static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int dwBufferLength); #endregion (Para saber mais sobre a funçao acima só acessar o site da Microsoft aqui ) Ok, agora vamos criar um metodo para chamar essa funçao de maneira correta na hora correta. static bool MudarProxy(string Proxy, bool Habilitar) { RegistryKey RegInternet = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true); //Atribui a variavel RegInternet o registro onde fica as configuraçoes da internet no regedit RegInternet.SetValue("ProxyEnable", Habilitar); //Habilita o proxy RegInternet.SetValue("ProxyServer", Proxy); //Atribui o server proxy para o windows InternetSetOption(IntPtr.Zero, 0x27, IntPtr.Zero, 0); //Avisa o windows q ouve uma mudança nas configuraçoes da internet InternetSetOption(IntPtr.Zero, 0x25, IntPtr.Zero, 0); //Atualiza as configuraçoes da internet } Para mais flags do InternetSetOption pode ser visto aqui, ok agora é só desenvolver o programa outra funçao simples de se fazer para checar se o proxy está funcionando, é fazer um teste com ele, se o site não responder ou der algum error é por que não esta funcionando Veja o exemplo: static bool VerificarProxy(sProxy p) { HttpWebRequest wc = (HttpWebRequest)WebRequest.Create("http://google.com"); wc.Proxy = new WebProxy(p.IP, p.Port); wc.Timeout = 2000; try { wc.GetResponse(); return true; } catch { return false; } } O código do meu programa que fiz de teste: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Runtime.InteropServices; using Microsoft.Win32; using System.Net; using System.Threading; using System.IO; namespace ProxyChange { class Program { #region Referencias [DllImport("wininet.dll")] public static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int dwBufferLength); #endregion #region Metodos static bool MudarProxy(string Proxy, bool Habilitar) { RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true); registry.SetValue("ProxyEnable", Habilitar); registry.SetValue("ProxyServer", Proxy); InternetSetOption(IntPtr.Zero, 0x27, IntPtr.Zero, 0); InternetSetOption(IntPtr.Zero, 0x25, IntPtr.Zero, 0); } static bool CheckContains(sProxy p) { foreach (sProxy p2 in ProxyTestados) if (p.getString() == p2.getString()) return true; return false; } static bool CheckProxy(sProxy p) { if (!CheckContains(p)) ProxyTestados.Add(p); else return false; HttpWebRequest wc = (HttpWebRequest)WebRequest.Create("http://google.com"); wc.Proxy = new WebProxy(p.IP, p.Port); wc.Timeout = 2000; try { wc.GetResponse(); return true; } catch { return false; } } #endregion #region Structs struct sProxy { public string IP { get; set; } public int Port { get; set; } public string getString() { return $"{IP}:{Port}"; } } #endregion static List<sProxy> ListProxy; static List<sProxy> ProxyFuncionando; static List<sProxy> ProxyTestados; static string Arquivo = ""; static int TempoTroca; [STAThread] static void Main(string[] args) { MudarProxy("", 0); Console.ForegroundColor = ConsoleColor.White; Console.Title = "Proxy Chaanger"; ProxyTestados = new List<sProxy>(); if (ListProxy == null) ListProxy = new List<sProxy>(); if (ProxyFuncionando == null) ProxyFuncionando = new List<sProxy>(); TempoTroca = 0; string Resp = ""; if (ListProxy.Count == 0) { Console.Write("Digite o nome do arquivo de proxys: "); Resp = Console.ReadLine(); if (!File.Exists(Resp)) { Console.WriteLine("Arquivo invalido!"); Console.ReadLine(); Console.Clear(); Main(args); return; } } Arquivo = Resp; LerProxys(); Console.Write("Digite quantos minutos para a troca de IP: "); Resp = Console.ReadLine(); if (int.TryParse(Resp, out TempoTroca)) { if (TempoTroca > 0 && TempoTroca < int.MaxValue) { TempoTroca *= 60000; } else { Console.WriteLine("Arquivo invalido!"); Console.ReadLine(); Console.Clear(); Main(args); return; } } else { Console.WriteLine("Arquivo invalido!"); Console.ReadLine(); Console.Clear(); Main(args); return; } new Thread(Rotina).Start(); Console.ReadLine(); MudarProxy("", 0); Environment.Exit(1); } static void LerProxys() { ListProxy.Clear(); foreach (string Linha in File.ReadAllLines(Arquivo)) { if (Linha.Contains(":")) { string[] Div = Linha.Split(':'); int Porta = -1; sProxy p; if (int.TryParse(Div[1], out Porta)) p = (new sProxy() { IP = Div[0], Port = Porta }); else continue; if (!ProxyTestados.Contains(p)) ListProxy.Add(p); } } } static void TestarProxys() { int count = 1; foreach (sProxy p in ListProxy) { Console.Clear(); Console.WriteLine("Testando Proxys..."); Console.WriteLine($"{ListProxy.Count} proxys carregados!"); Console.WriteLine($"Testando {count}/{ListProxy.Count} e {ProxyFuncionando.Count} estao funcionando!"); if (CheckProxy(p)) { ProxyFuncionando.Add(p); } count++; Thread.Sleep(200); } ListProxy.Clear(); } static void Rotina() { int Count = 0; while (true) { Console.Clear(); Console.WriteLine("Procurando Proxy Funcionando!"); Console.WriteLine("Aperte qualquer tecla para sair!"); while (CheckProxy(ListProxy[Count])) { Console.Clear(); Count++; if (Count == ListProxy.Count) { Console.WriteLine("Os Proxys acabaram!"); Console.WriteLine("Desligando proxy..."); MudarProxy("localhost", 0); Console.ReadLine(); return; } } Console.Clear(); sProxy AtualProxy = ListProxy[Count]; Console.WriteLine($"Proxy Atual: {AtualProxy.getString()}"); Console.WriteLine($"Proxima Troca: { DateTime.Now.AddMinutes(TempoTroca/60000).ToString() }"); Console.WriteLine("Aperte qualquer tecla para sair!"); MudarProxy(AtualProxy.getString(), 1); Thread.Sleep(TempoTroca); LerProxys(); } } } }
  5. forkgoldin

    Loop em C

    Pessoal, vocês sabem me dizer se tem algum método pra duplicar alguns caracteres de uma string, nem que seja em outra? preciso pegar url da pasta pra um programa que estou fazendo, mas em uns momentos precisarei de duas barras entre os diretórios, e em outros momentos precisarei de apenas uma, e pedir pro usuário digitar o URL duas vezes fica meio esquisito hauhaua, sabem alguma função ou algum loop que faça isso?
  6. poxalukas

    Alocaçao dinamica

    [ajuda] e ai glr , to aprendendo agr sobre alocaçao dinamica, e me surgiu uma duvida no exercicio: "3) Construa um programa (main) que aloque em tempo de execução (dinamicamente) uma matriz de ordem m x n (linha por coluna), usando 1+m chamadas a função malloc. Agora, aproveite este programa para construir uma função que recebendo os parametros m e n aloque uma matriz de ordem m x n e retorne um ponteiro para esta matriz alocada. Crie ainda uma função para liberar a área de memória alocada pela matriz. Finalmente, crie um novo programa (main) que teste/use as duas funções criadas acima. 4) Construa um programa (main) que aloque em tempo de execução (dinamicamente) uma matriz de ordem m x n (linha por coluna), usando 2 chamadas a função malloc. Agora, aproveite este programa para construir uma função que recebendo os parametros m e n aloque uma matriz de ordem m x n e retorne um ponteiro para esta matriz alocada. Crie ainda uma função para liberar a área de memória alocada pela matriz. Finalmente, crie um novo programa (main) que teste/use as duas funções criadas acima." nao entendi mt bem oq e pra fazer a respeito dessa alocaçao, tanto 1+m qt 2 chamadas. segue meu code #include <stdio.h> #include <stdlib.h> float **Alocar_matriz_real (int m, int n) { float **v; int i; if (m < 1 || n < 1) { printf ("** Erro: Parametro invalido **\n"); return (NULL); } v = (float *)calloc (m, sizeof(float *)); if (v == NULL) { printf ("** Erro: Memoria Insuficiente **"); return (NULL); } for ( i = 0; i < m; i++ ) { v = (float *)calloc (n, sizeof(float)); if (v == NULL) { printf ("** Erro: Memoria Insuficiente **"); return (NULL); } } return (v); } float **Liberar_matriz_real (int m, int n, float **v) { int i; if (v == NULL) return (NULL); if (m < 1 || n < 1) { printf ("** Erro: Parametro invalido **\n"); \ return (v); } for (i=0; i<m; i++){ free (v); } free (v); return (NULL); } int main (void) { float **mat; int l, c; int i, j; printf("digite o valor de m: "); scanf("%d",&l); printf("\ndigite o valor de n: "); scanf("%d",&c); mat = Alocar_matriz_real (l, c); for (i = 0; i < l; i++){ for ( j = 0; j < c; j++){ if(i==j) mat[j] = 1; } } mat = Liberar_matriz_real (l, c, mat); return(0); }
  7. forkgoldin

    Comandos além da lógica

    Pessoal, eu comecei estudar C faz muito tempo e já estudei tudo que consegui encontrar, loops, condições, arquivos, ponteiro, vetores, etc, mas tudo isso só cria o programa dentro dele mesmo, ou guarda e pega informações de fora, mas tipo, como eu faço pra sair da "Lógica de programação" e usar comandos do SO, por exemplo, sei que tem o system que acessa o cmd/terminal, mas só tem ele? como são feitos os malwares que fazem algo além de encher memória ou modificar dados, por exemplo? e como eu poderia fazer um programa que modifique o plano de fundo após um certo tempo ou que pegue as senhas do wifi por exemplo sla, já me indicaram ler a documentação, mas só encontro em inglês e não manjo muito, já me indicaram bibliotecas tbm, mas parece que todas só minimizam o trabalho de algumas contas ou alguns comandos, com algumas funções (tipo a string.h ou math.h), bom queria saber como funciona esses programas como malwares ou aqueles q mudam algo do sistema operacional
  8. Adeuk

    Duvida algoritmo em C

    Oie! estou estudando C, e estava desenvolvendo um exercicio para converter temperaturas, mas as contas não estão funcionando, alguem poderia me dizer a onde estou errando? int main(){ double entrada, saida; char opcao; printf("Para converter Celsius para Fahrenheit digite F "); printf("Para converter Fahrenheit para Celsius digite C: "); scanf(" %c", &opcao); while(opcao != 'C' && opcao != 'F') { printf("Opção invalida, digite uma opção valida"); scanf(" %c", &opcao); } printf("Digite os graus de entrada: "); scanf("%d", &entrada); if(opcao=='F'){ saida=(entrada*1.8)+32; printf("saida %.2f\n", saida); } else { saida=(entrada-32)/1.8; printf("saida %.2f\n", saida); } system("PAUSE"); }
  9. forkgoldin

    Compilador C

    Pessoal, vcs conhecem algum compilador C bem leve e que não haja nenhuma complicação para instalar? não estou querendo uma IDE e sim um compilador que roda pelo cmd, eu baixei o gcc, mas ele precisa mexer em várias configurações para que funcione pelo cmd, queria um que fizesse tudo automatico e que fosse leve (mingw/gcc ta com +200mb aq no meu), eh q estou criando um programa só pra testar meu conhecimento e queria mandar pra meus amigos, mas ele precisa compilar um arquivo em C q o proprio programa faz, e nao quero mandar eles instalarem o gcc pq vai trazer mt complicação, e queria q ele ficasse simples, vcs podem me indicar algum q eu possa mandar junto com meu programa e q seja leve?
  10. mfernandorh

    [Ajuda]exercicio de programaçao

    entao, estou estudando em cima de alguns exercicios de programaçao, porem fiquei com duvida em uma questao obs:estou fazendo os exercicios utilizando Compilador G++ Linha de comando: g++ -lm -o executavel fonte.cpp (C++) ou Node.js (javascript) o exercicio esta em pdf exercicio3.pdf e seus Casos de teste esta em formato ziphttp://olimpiada.ic.unicamp.br/extras/gabaritos/2015f1p2_quebra.zip se alguem poder me ajudar agradeço muito desde ja
×

Informação Importante

Ao usar este site, você concorda com nossos Termos de Uso.