Torna indietro   Hardware Upgrade Forum > Software > Programmazione

MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Abbiamo provato MSI PRO MAX EDGE AI+, un mini-PC professionale progettato per eseguire modelli di intelligenza artificiale in locale, senza dipendere dal cloud. Il sistema abbina il processore AMD Ryzen AI Max+ 395, 128 GB di memoria unificata e un telaio in alluminio da appena 4 litri, con l'obiettivo di offrire capacità di elaborazione elevate in un formato compatto.
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-09-2003, 14:11   #1
Jarlaxle
Member
 
Iscritto dal: Jun 2002
Messaggi: 63
problemino fprintf e fscanf in C++

salve a tutti,
per imparer bene l'utilizzo di queste due funzioni ho provato a scrivere un programmino che partendo da due file txt (filein.txt e fileout.txt) facesse la seguente operazione:
avendo in filein.txt questo:

Numero 1 : 34
Numero 2 : 44
Numero 1 : 87

il programma dovrebbe leggere il filein e scrivere nel fileout.txt questo:

34
44
87

il codice del programma e' questo:

/*Prova di utilizzo di istruzioni su file*/

#include <stdio.h>

FILE *in;
FILE *out;

void main( void )
{
int uno , due , tre ;

in = fopen( "filein.txt" , "r" );

out = fopen( "fileout.txt" , "w" );

fscanf( in , "numero 1 : %d\n" , &uno );
fscanf( in , "numero 2 : %d\n" , &due );
fscanf( in , "numero 3 : %d\n" , &tre );

fprintf( out , "%d\n" , uno );
fprintf( out , "%d\n" , due );
fprintf( out , "%d\n" , tre );

fclose( out );
fclose( in);
}

pero' se faccio andare il programma e guardo il fileout.txt mi ritrovo questo:

-858993460
-858993460
-858993460

qualcuno sa dove ho sbagliato e come correggere il programma??

Grazie mille!
Jarlaxle è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2003, 14:18   #2
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
ma usare l'i/O del C++ no, eh?

Codice:
#include <iostream>
#include <cstdio>
#include <string>
#include <sstream>
#include <fstream>
#define MAX_BUF 12000
using namespace std;

ostream& scrivi( ostream& , string );
string leggi( istream& );

int main()
{   
    ifstream in;
    in.open( "C:\\io.txt" );    
    ofstream out;
    out.open( "C:\\DirectXOLD.txt" );    
    scrivi( out, leggi( in ) );
    cout << "\n"; 
    system( "PAUSE" );
    return 0;
}

ostream& scrivi( ostream& out, string mesg )
{
    out << mesg;
    return out;
}

string leggi( istream& in)
{
    string str;
    char buf[MAX_BUF+1];
    while(!in.eof())
    {
        in.read(buf, MAX_BUF);
        str.append(buf, in.gcount());
    }
    return str;
}
__________________
Gnu/Linux User

Ultima modifica di Luc@s : 16-09-2003 alle 14:25.
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2003, 14:38   #3
Jarlaxle
Member
 
Iscritto dal: Jun 2002
Messaggi: 63
si ma come si spiega la strano risultato del mi programma?

Ultima modifica di Jarlaxle : 16-09-2003 alle 14:41.
Jarlaxle è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2003, 14:40   #4
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
devono essere numeri assegnati a caso dal compilatore
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2003, 14:43   #5
Jarlaxle
Member
 
Iscritto dal: Jun 2002
Messaggi: 63
ok e qual'e' il problema per cui non funziona il programma?
Jarlaxle è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2003, 14:52   #6
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
Quote:
Originariamente inviato da Jarlaxle
ok e qual'e' il problema per cui non funziona il programma?
Questo:
Codice:
 fscanf( in , "numero 1 : %d\n" , &uno );
Il secondo parametro e' una stringa in cui specifichi il formato con cui memorizzare il dato (in questo caso "%d"), e non cosa saltare nel file.
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2003, 14:54   #7
Jarlaxle
Member
 
Iscritto dal: Jun 2002
Messaggi: 63
e per memorizzare solo il numero e non la stringa come dovrei dovrei utilizzare l'istruzione??
Jarlaxle è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2003, 14:57   #8
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
Prima di leggere con fscanf dovresti fare un fseek di una decina di byte (fa' delle prove).
Per esempio:
Codice:
fseek(in,10,SEEK_CUR);
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2003, 15:02   #9
Jarlaxle
Member
 
Iscritto dal: Jun 2002
Messaggi: 63
ci guardero' pero anche mettendo nel file in
4
e usando fscanftf( in, "%d\n" , &uno);
non funziona
come puo' essere??? mentre in questo caso se uso
printf( "%d\n" , uno);
sullo schermo compare 4 mentre nel file out compare quello schifo!
Jarlaxle è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2003, 15:14   #10
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
Ho fatto la prova, cosi' funziona:
Codice:
...
fseek(in,10,SEEK_CUR);
fscanf( in , "%d" , &uno );
...
Naturalmente questa e' una soluzione molto artigianale...
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2003, 20:30   #11
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
Quote:
Originariamente inviato da Jarlaxle
ci guardero' pero anche mettendo nel file in
4
e usando fscanftf( in, "%d\n" , &uno);
non funziona
come puo' essere??? mentre in questo caso se uso
printf( "%d\n" , uno);
sullo schermo compare 4 mentre nel file out compare quello schifo!
sign irregolare ... che cosa fa fprintf?? conosco printf
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2003, 12:11   #12
Jarlaxle
Member
 
Iscritto dal: Jun 2002
Messaggi: 63
lovaz la soluzione con fseek che hai postato funziona con che testo all'interno di filein.txt??

numero 1 : 4

oppure

4

quale???
Jarlaxle è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2003, 12:13   #13
Jarlaxle
Member
 
Iscritto dal: Jun 2002
Messaggi: 63
X Fenomeno85: fprintf ha la stessa funzione di printf ma stampa la stringa all'interno del file specificato nel primo parametro della funzione
Jarlaxle è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2003, 12:33   #14
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
Quote:
Originariamente inviato da Jarlaxle
lovaz la soluzione con fseek che hai postato funziona con che testo all'interno di filein.txt??

numero 1 : 4

oppure

4

quale???
la prima che hai detto
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2003, 14:17   #15
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
Quote:
Originariamente inviato da Jarlaxle
X Fenomeno85: fprintf ha la stessa funzione di printf ma stampa la stringa all'interno del file specificato nel primo parametro della funzione
ok grazie
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2003, 19:19   #16
Jarlaxle
Member
 
Iscritto dal: Jun 2002
Messaggi: 63
X lovaz : Grazie mille!

XFenomeno85 : di nulla!

Jarlaxle è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
SpaceX sceglie Qualcomm per la rete 5G t...
AMD mette la freccia e si prepara allo s...
Sony Santa Monica posticipa God of War L...
Il telescopio spaziale Swift è ri...
Black Friday HONOR, prezzi giù fi...
AliExpress sfida Amazon sui prezzi: e-bi...
Gemini sotto accusa in Ungheria: per l'a...
Windows 11 può girare sulla NPU invece d...
MediaWorld diventa cinese: l'UE dice s&i...
Akamai potenzia il proprio cloud con due...
Steam, Valve cambia le regole: le revisi...
Canva licenzia (anche) per colpa dell'IA...
Axerta: l’IA traina la crescita delle te...
Galaxy A38, la batteria cresce ma il pre...
Notifica su Facebook: 'Effettuerai la mi...
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: 04:53.


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