Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Sono molte le novità che ASUS ha scelto di presentare al CES 2026 di Las Vegas, partendo da una gamma di soluzioni NUC con varie opzioni di processore passando sino agli schermi gaming con tecnologia OLED. Il tutto senza dimenticare le periferiche di input della gamma ROG e le soluzioni legate alla connettività domestica
Le novità ASUS per il 2026 nel settore dei PC desktop
Le novità ASUS per il 2026 nel settore dei PC desktop
Molte le novità anticipate da ASUS per il 2026 al CES di Las Vegas: da schede madri per processori AMD Ryzen top di gamma a chassis e ventole, passando per i kit di raffreddamento all in one integrati sino a una nuova scheda video GeForce RTX 5090. In sottofondo il tema dell'intelligenza artificiale con una workstation molto potente per installazioni non in datacenter
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-11-2003, 14:12   #1
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
[C++]Problema lettura

Ho il seguente file:
Quote:
GeforceFx5200
250
400
128
128
Da qui cerco di ricavare le info cosi:
Codice:
#include <cstdio>
#include <cstdlib>
#include <string>

using namespace std;

struct Info
{
    char * nm;
    int gpu_c;
    int mem_c;
    int bus_c;
    int mem_t;
};

int main(int argc, char * argv[])
{ 
   Info sk_video; 
   memset(&sk_video, 0, sizeof(Info));
   FILE * f = fopen("fx5200.txt", "r"); 
   fread(&sk_video, sizeof(Info), 1, f);
   // fscanf(f, "%s %d %d %d %d", &sk_video);
   char sc;
   printf
   (
   "Model Name => %s, \n \
   Gpu Clock => %i \n \
   Memory Clock => %i \n \
   Bus type => %i \n \
   Memory Installed => %i \n", 
   &sk_video.nm, 
   &sk_video.gpu_c, 
   &sk_video.mem_c, 
   &sk_video.bus_c, 
   &sk_video.mem_t
   ); 
   scanf("%s", &sc);
   fclose(f);
   return 0;
}
Ma il risultato è questo..................why????









Tnk && HELP :dhò:
Immagini allegate
File Type: gif immagine.gif (4.7 KB, 17 visite)
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2003, 14:37   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Perchè non hai allocato lo memoria per la stringa...
char *nm è un puntatore a char e non una stringa...

char nm[100] è una stringa...ma attento alla lettura dal file con fread...non funziona fread su una stringa...a meno che la stessa sia stata scritta precedentemente tramite fwrite... In pratica ci dovrebbero essere 100 caratteri sula prima riga
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2003, 14:48   #3
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
Codice:
#include <cstdio>
#include <cstdlib>
#include <string>

using namespace std;

struct Info
{
    int gpu_c;
    int mem_c;
    int bus_c;
    int mem_t;
    char nm[50];
};

int main(int argc, char * argv[])
{ 
   Info sk_video; 
   memset(&sk_video, 0, sizeof(Info));
   FILE * f = fopen("fx5200.txt", "r"); 
   // fread(&sk_video, sizeof(Info), 1, f);
   fscanf
   (f, 
   "%s\n %d\n %d\n %d\n %d",
   &sk_video.nm,
   &sk_video.gpu_c, 
   &sk_video.mem_c,
   &sk_video.bus_c,
   &sk_video.mem_t
   );
   char sc;
   printf
   (
   "Model Name => %s, \n \
   Gpu Clock => %d Mhz \n \
   Memory Clock => %d Mhz \n \
   Bus type => %d bit \n \
   Memory Installed => %d Mb \n", 
   &sk_video.nm, 
   &sk_video.gpu_c, 
   &sk_video.mem_c, 
   &sk_video.bus_c, 
   &sk_video.mem_t
   ); 
   scanf("%s", &sc);
   fclose(f);
   return 0;
}
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2003, 14:51   #4
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
ed ecco il ris del codice di sopra......

...................
Immagini allegate
File Type: gif immagine.gif (4.4 KB, 13 visite)
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2003, 15:00   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
fscanf
(f,
"%s\n %d\n %d\n %d\n %d",
sk_video.nm,
&sk_video.gpu_c,
&sk_video.mem_c,
&sk_video.bus_c,
&sk_video.mem_t
);

printf
(
"Model Name => %s, \n \
Gpu Clock => %d Mhz \n \
Memory Clock => %d Mhz \n \
Bus type => %d bit \n \
Memory Installed => %d Mb \n",
sk_video.nm,
sk_video.gpu_c,
sk_video.mem_c,
sk_video.bus_c,
sk_video.mem_t
);
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2003, 15:05   #6
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
nn cambia nulla
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2003, 16:41   #7
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
risolto:
Codice:
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct _Info
{
    char nm[50]; /* the board name */
    int gpu_c; /* the GPU clock */
    int mem_c; /* the me clock */
    int bus_c; /* the bus */
    int mem_t; /* the installed memory */
}Info;

int main(int argc, char * argv[])
{ 
   char sk[50] ;
   strcpy(sk, argv[1]);
   /* puts("\t\tDB SKEDE VIDEO\n");
   puts("Inserire il nome delle skeda cercata tutto attaccato e seguito da .txt");
   scanf("%s", &sk); */
   Info sk_video; 
   memset(&sk_video, 0, sizeof(Info));
   FILE * f = fopen(sk, "r"); 
   fscanf
   (f, 
   "%s %d %d %d %d",
   &sk_video.nm,
   &sk_video.gpu_c, 
   &sk_video.mem_c,
   &sk_video.bus_c,
   &sk_video.mem_t
   );
   fclose(f);
   printf
   (
   "Model Name => %s \n \
   Gpu Clock => %d Mhz \n \
   Memory Clock => %d Mhz \n \
   Bus type => %d bit \n \
   Memory Installed => %d Mb \n", 
   sk_video.nm, 
   sk_video.gpu_c, 
   sk_video.mem_c, 
   sk_video.bus_c, 
   sk_video.mem_t
   ); 
   char sc;
   puts("Enter any key to exit\n");
   scanf("%s", &sc);
   return 0;
}
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2003, 16:48   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ti avevo cambiato anche la printf, ma non l'avevo evidenziata...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2003, 16:49   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
&sk_video.nm non ci vuole la &...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Le novità MSI del 2026 per i videogiocatori Le novità MSI del 2026 per i videogiocato...
I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers I nuovi schermi QD-OLED di quinta generazione di...
E-mail reset password di Instagram: la c...
La NASA ha discusso le problematiche del...
Il razzo spaziale NASA SLS e la capsula ...
Stazione Spaziale Internazionale: Crew-1...
Samsung Galaxy S26 Ultra: la ricarica de...
Apple ha un nuovo partner per la sua App...
Trenitalia introduce il prezzo dinamico ...
OnePlus non si ferma più: c'&egra...
DAZN sconta il piano Full per 6 mesi, se...
L'uso dell'IA nei giochi è cancer...
Meta punta sul nucleare USA per alimenta...
Le migliori offerte Amazon del weekend: ...
La crisi dell'hardware spinge i negozi g...
Apple Watch SE 3 scontato su Amazon: il ...
Robot aspirapolvere davvero scontati: si...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:45.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v