Cita de: Xedrox en 27 Diciembre 2012, 01:23 AMAlguien sabe porque me esta duplicando las "XXXX"? Solo estoy guardando una vez ese valor..Porque fputs espera una cadena y tu le pasas la direccion de un caracter.
Un saludo
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: Xedrox en 27 Diciembre 2012, 01:23 AMAlguien sabe porque me esta duplicando las "XXXX"? Solo estoy guardando una vez ese valor..Porque fputs espera una cadena y tu le pasas la direccion de un caracter.
if ((ft = fopen(dat1, "r")) == NULL){
perror(dat1);
/* Manejo de error */
}
/* Con el operador "direccion de" */
fscanf(ft, "%f", &tab1[i][j]);
/* Con aritmetica de punteros */
fscanf(ft, "%f", tab1[i] + j);
Cita de: muymuyperdido en 26 Diciembre 2012, 15:36 PMEntonces como seria el codigo para volcar un archivo en una tabla?Si juntas todo lo dicho en el tema mas un poco de iniciativa lo resuelves en poco tiempo.
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{
struct transaccion {
string campo1;
string campo2;
string campo3;
string campo4;
};
struct transaccion trx;
ifstream input;
input.open("Transacciones.txt", ios::in);
char buffer[250];
while (input.getline(buffer, 250)){
char *auxSplit;
auxSplit = strtok(buffer, ";");
trx.campo1 = auxSplit;
cout << trx.campo1 << "\n";
auxSplit = strtok(NULL, ";");
trx.campo2 = auxSplit;
cout << trx.campo2 << "\n";
auxSplit = strtok(NULL, ";");
trx.campo3 = auxSplit;
cout << trx.campo3 << "\n";
auxSplit = strtok(NULL, ";");
trx.campo4 = auxSplit;
cout << trx.campo4 << "\n";
}
input.close();
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define NUM_CHARS 4096
void delreves(FILE *entrada);
/* ... */
void delreves(FILE *entrada)
{
char temp[NUM_CHARS];
char **linea;
int i;
int max_lineas = 16;
linea = malloc(max_lineas * sizeof *linea);
i = 0;
while (fgets(temp, NUM_CHARS, entrada) != NULL){
linea[i] = malloc(strlen(temp) + 1);
strcpy(linea[i], temp);
i++;
if (i == max_lineas){
max_lineas *= 2;
linea = realloc(linea, max_lineas * sizeof *linea);
}
}
linea = realloc(linea, i * sizeof *linea);
/* Procesamiento de las lineas ... */
/* Liberacion de la memoria utilizada */
while (i-- > 0)
free(linea[i]);
free(linea);
}
Cita de: m@o_614 en 22 Diciembre 2012, 01:53 AMComo ya te comentaron:
ahora ya no me aparece ese warning pero como ya le agregue la función de eliminar_elemento (en esta metí la función de buscar) pero no me hace lo que le pido
void eliminar_elemento(NODO **p)
{
NODO *aux;
int dato;
puts("Dame el elemento a eliminar:");
scanf("%d", &dato);
while (*p != NULL && (*p)->dato != dato)
p = &(*p)->sig;
if (*p != NULL){
aux = *p;
*p = (*p)->sig;
free(aux);
}
}
struct {
char nombreFich[41];
unsigned long numeroregistro;
unsigned long numeroserie;
} fichas[10], temp; /* temp debe ser del mismo tipo */
/* ... */
for (i = 0; i < numeroFichas - 1; i++)
for (j = i + 1; j < numeroFichas; j++) {
if (fichas[j].numeroregistro < fichas[i].numeroregistro){
temp = fichas[j];
fichas[j] = fichas[i];
fichas[i] = temp;
}
Cita de: n3t_3rr0r en 22 Diciembre 2012, 20:56 PMBueno quisiera algunas recomendaciones, sobre temas en general, lecturas, tutoriales, videos etcetera pero que se apliquen a la programacion bajos sistemas operativos GNU/Linux o UNIX..Puedes empezar aprendiendo C estándar, esa es la parte garantizada del lenguaje y te sirve sin importar el compilador y SO utilizado. Y para recomendaciones de libros lo mejor es utilizar el motor de búsqueda de los foros.