Jump to content
Fórum Script Brasil

Gutovookrj

Membros
  • Content Count

    11
  • Joined

  • Last visited

Community Reputation

0 Neutro

About Gutovookrj

  1. Olá, pessoal. A idéia é a seguinte... O programa em Python pegará uma entrada de usuário e senha de outro programa, e deve executar o comando de linha "htpasswd", que adiciona um usuário e senha para poder acessar uma determinada página configurada em servidor Apache. Tava tentando usar popen, mas esbarrei no seguinte problema: o comando "htpasswd", depois de executado, pede senha e confirmação de senha. A senha não deve ser enviada como argumento, e sim logo após do comando ter sido executado, assim que ele pedir. cmd= ['htpasswd','-s','/home/user1/private/passwords',username] p1 = popen(
  2. Já achei minha resposta. Na verdade, achei 3 possíveis respostas, que dão o mesmo resultado pra mim. dir = getcwd(dir, 0); dir = get_current_dir_name(); dir = getwd(dir); onde dir é um char* apontando inicialmente pra NULL. As três funções dão o mesmo resultado, que é o caminho absoluto até o diretório onde se encontra o seu executável. Se o executável está em "/home/user/exec", as funções retornam "/home/user/". Depois pra eu pegar a pasta que eu queria foi só fazer um laço de strtok usando "/" como separador.
  3. Olá, pessoal do Script! To com uma dúvida. Tipo, tenho um código que será compilado, e seu executável (cgi, na verdade) irá pra 2 diretórios diferentes, A e B. Queria saber como fazer pra retornar o caminho do executável, tipo: /home/*user*/public_html/A/cgi-bin/exec.cgi ou /home/*user*/public_html/B/cgi-bin/exec.cgi Serve também caminho relativo, desde pegue o A e o B, pois o nome do diretório será impresso no nome de um arquivo que será gerado pelo programa. O programa será executado em Linux. Desde já agradeço ;) EDIT: Resumindo, queria saber se existe alguma função em C que retorne
  4. Você vai precisar fazer alocação dinâmica, não tem outra maneira. Defina a matriz como: double **matriz; Depois de capturar o valor de n e antes de utilizar a matriz, faça: em C: // não sei se o type casting é necessário, mas aconselho a usar sempre matriz = (double **) malloc(n*sizeof(double *)); //aloca um ponteiro para ponteiro de double for (i = 0; i<n; i++) matriz[i] = (double *) malloc(n*sizeof(double)); // aloca um ponteiro para double em C++ matriz = new double* [n]; for (int i=0; i<n; i++) matriz[i] = new double [n]; E no final do programa, quando v
  5. Nossa, era um detalhe tão básico hahaha Acho que não li o suficiente sobre o fstream, vou procurar saber mais sobre as suas funções. Muito obrigado =D
  6. Olá. Estou com problema no meu código que não consigo identificar. Ele funciona perfeitamente no Linux, porém se executado no Windows, ele age de forma peculiar: Se eu digo o nome do arquivo correto de primeira, o programa age normalmente. Porém, se eu digo o nome errado, e na segunda tentativa disser o certo, não adianta, ele fica infinitamente no loop, dizendo que o nome está incorreto. No Linux não existe isso, eu posso errar na primeira, na segunda, etc, não importa. Se eu disser uma vez o nome correto, o programa segue adiante. Colarei o trecho pra análise: #include <fstream> .
  7. Já solucionei o problema, mas de qualquer forma, obrigado :) Acho que o problema tava no compilador (devc++ rodando pelo windows), ou eu dei bobeira em alguma parte do algoritmo que não lembro, mas não importa mais :P eu parei de armazenar a variável em string. Dessa vez, coloquei em float mesmo e funcionou. antes, estava assim: fscanf(arquivo,"%10s%10s%lg%30s%*[^\n]",na,nb,&netlist[ne].valor,netlist[ne].var1); E em algum outro lugar do código eu fazia: IC1 = atof(&netlist[ne].var1[3]); agora, está assim: fscanf(arquivo,"%10s%10s%lg IC=%lg%*[^\n]",na,nb,&netlist[ne].valor,&
  8. Olá novamente. Estou com um problema no atof... Eu tenho uma variável do tipo string que tem o seguinte valor: "IC=-2.87604039957841E-1" Isso é a mesma coisa que -2.876 x 10^(-1), que seria -0.2876, certo? O problema é que quando eu faço o atof(&ic[3]), ele me retorna um float de valor -2.876, 10 vezes maior do que o correto, porque parece que ele não enxerga o E-1 como 10 elevado a -1. criei ic como char ic[30]; Alguém sabe a solução disso?
  9. Nevermind, já consegui resolver. Achei um jeito mais prático de calcular o determinante, agora se consome 1MB de memória é muito, mesmo em matrizes 20x20.
  10. tenho uma struct: typedef struct { double s[MAX_GRAU]; unsigned short grau; } polinomio; E a minha função que dá problema de memória: unsigned short calcDet(polinomio **matriz, unsigned short ordem, double det[MAX_GRAU]){ double d[MAX_GRAU]; unsigned short i,j,k,a,b,c, grau, graux; for (i=0; i<MAX_GRAU; i++) det[i]=0; grau=0; if (ordem==1) { for (k=0; k<=matriz[1][1].grau; k++) det[k]=matriz[1][1].s[k]; grau=matriz[1][1].grau; } else if (ordem==2) { for(i=0;(i<=matriz[1][1].grau || i<=matriz[1][2].grau); i++) for
  11. faça o seguinte: struct { int a; char *s; } node; e para alocar, tente fazer: x->s = (char *)malloc(sMAX*sizeof(char)); x = (node *)malloc(nodeMAX*sizeof(node)); e vê se funciona.
×
×
  • Create New...