Potřeboval bych pomoc se zápisem do souboru. Potřebuju, aby soubor měl název který si zadá uživatel... příklad jméno. Jde to nejak udělat? diky moc d.chudik@centrum.cz
Fórum › C / C++
Zápis do souboru
To Dave-CZ : Samozřejmě, že to jde udělat. V čem konkrétním máš problém? Pokud se syntaxí, doporučuji cplusplus.com http://cplusplus.com/reference/clibrary/cstdio/fwrite/
To Bald3rr : NO popravdě dělám projekt na VŠB... a jen jsem se ptal jsetli to jde a jak se to dělá... abych to mohl dodělat... budu dělat dotazník.. a potrebuju aby se odpovedi ukladali podle jmen a jde aby se to ukladalo i do urcite slozky ktera bude mit nazev podle data? a kde to mam kdyz tak najit
To Dave-CZ : Odkazoval jsem tě na stránky cplusplus.com obojí jde, jen stačí hledat, syntaxi fopen() najdeš zde http://cplusplus.com/reference/clibrary/cstdio/fopen/
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;
int main () {
fstream filestr;
filestr.open ("jmeno.txt", fstream::out | fstream::app);
cout << "\n----------- NOVEHO ZAMESTNANEC -----------\n";
char krestni_jmeno[12];
cout << "Krestni jmeno: ";
cin >> krestni_jmeno;
char prijmeni[30];
cout << "Prijmeni: ";
cin >> prijmeni;
int vek;
cout << "Vek: ";
cin >> vek;
cout << "\n\n Zapsáno do souboru s priponou .txt";
cin.get();
filestr << "----------- ZAMESTNANEC -----------" << endl;
filestr << "Krestni jmeno: " << krestni_jmeno << endl;
filestr << "Prijmeni: " << prijmeni << endl;
filestr << "Vek: " << vek << endl;
filestr.close();
cin.get();
return 0;
}
jak to udelam aby se to neulozil jako - jmeno.txt ale treba podle toho jak si zadam Krestni jmeno:..?? diky
Tak nazev podle jmena uz mi jde....
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;
int main () {
char Jmeno[20];
char Prijmeni[50];
cout << "Zadejte cele jmeno: ";
cin >> Jmeno;
ofstream fout(Jmeno); \\potrebuju tam dostat priponu .txt
fout << Jmeno;
fout << "\n";
cout << "Zadejte sve prijmeni: ";
cin >> Prijmeni;
fout << Prijmeni << "\n";
fout.close();
Jen potrebuju aby tam byly jeste dana pripona .txt a nevim jak na to poradi nekdo
Prosím jak udělat to samé, na co se ptá autor topicu na začátku, ale v jazyce C? jde to pomocí fuknkce fopen? zkoušel sem to následovně ale bez úspěchu, co dělám špatně prosím?
char tname[20];
printf(" zadejte NAZEV TESTU:");
gets(tname);
if((fw= fopen("TEST-%s.txt", "w"))== NULL){ //zajisteni spravnosti otevreni souboru
printf("chyba pri otevirani souboru %s!\n","TEST-&tname.txt");
return -1; }
dekuji. Mam jeste dotaz. potrebuji ulozit tri ruzne hofnoty do souboru jak treba nacist ze souboru string od 82 do 163 nebo od 164 do konce souboru. potebuji totiz ty tri hodnoty zvlast cist a zvlast zapisovat. predem dekuji za odpoved.
fseek, fread, ... by ti mohly pomoci .... něco málo v češtině http://www.sallyx.org/sally/c/c33.php.
Ahoj opet dalsi dotaz kvuli kteremu je zbyrecne tvorit novy topic. Proc tento kod vypise "Windows" a za tim spoustu neznamych znaku?
[
char buffer[8];
FILE * pFile;
pFile = fopen ( "save.txt" , "r" );
//fputs ( "WindowsLinuxMac" , pFile );
fread(buffer , 1 , 7, pFile);
fclose ( pFile );
cout << buffer;
return 0;/code]
Predem dekuji za odpovedi.
Zkusil sem vložit na konec bufferu '\0' a stale to same. No to uz je jedno spis netozumim jedne veci. Mam napr. char text[50]; Do neho pres fread nactu data. Pak vytvorim jiny char elements[9][9] a chci udelat toto. elemets[5][3] = text[5] takhle to bohuzelk nejde. Jak na to?
Tady je cely kod. unsolved[9][9] je typu char. Místo hodnoty se přiradí dvojciferna cisla (adresy?)
char loadUnsolved[82];
FILE * file;
file = fopen ( "save.txt" , "r" );
fread (loadUnsolved,1,81,file);
fclose (file);
loadUnsolved[81] = '\0';
//g_print ((gchar *) loadUnsolved); Vim ze je char naplnen spravne
int i = 1;
for (int m = 0; m < 9; m++) {
for (int n = 0; n < 9; n++) {
unsolved[m][n] = loadUnsolved[5];
++i;
}
}
Ale ten kód je podle mě správně, tedy až na řádek:
unsolved[m][n] = loadUnsolved[5];
tam asi mělo být:
unsolved[m][n] = loadUnsolved[i];
jinak je to i zbytečné.
Pak samozřejmě ještě indexace pole - začíná se 0. Jinak char je celočíselný typ (rozsah -128 až 127), a jeho obsah se dá intepretovat jako znak, když to tak chceš. Dvojciferná čísla budou asi kódy znaků viz ASCII tabulka.
To uz jsem take zkousel to take nejde. EDIT: tak uz to nejakym zazrakem jde ale vypisou se misto hodnot dvouciferne adresy ASCII. Pritom kdyz mam treba jeste pole char data[9][9] a udelam unsolved[m][n] = data[m][n] tak vse normalne funguje. Zpbrazi se hodnoty. EDIT2: Vse je ok vsem moc dekuji za trpelivost.
Ahoj prislo mi zbytecne zakladat novy topic tak pisi sem. Mám něco takového:
char unsolved[9][9]
char base[9][9];
void save() {
FILE *file = fopen("save.txt","w");
for (int x = 0; x < 9; x++) {
for (int y = 0; y < 9; y++) {
fprintf(file,"%c",unsolved[x][y]);
}
}
for (int x = 0; x < 9; x++) {
for (int y = 0; y < 9; y++) {
fprintf(file,"%c",base[x][y]);
}
}
fclose(file);
}
void save() {
char loadUnsolved[82];
char loadBase[82];
FILE * file;
file = fopen ( "save.txt" , "r" );
//load unsolved string
fread (loadUnsolved,1,81,file);
//load base string
fread (loadBase,1,81,file);
loadUnsolved[81] = '\0';
loadBase[81] = '\0';
memcpy(unsolved,loadUnsolved,sizeof(loadUnsolved));
memcpy(base,loadBase,sizeof(loadBase));
fclose (file);
}
Kdy se provede tento kod vypisuji jednotlive prvky unsolved a base. V base se vypise vse ok ale v unsolved vzdy chybi prvek [0][0] Cim to je? Predem dekuji za odpovedi.
no jen hadam, ale mejme tezi:
- unsolved je v pameti az za base
- unsolved a base ma 81 bajtu
- loadUnsolved a loadBase ma v pameti 82 bajtu...
- zapisujes prvni unsolved a prepises jeden bajt za nim
- zapisujes druhy base a prepises jeden bajt za nim
doufam ze je jasny kam tim mirim :)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Načtení souboru a zápis do souboru — založil pazdy
Zápis do souboru a výpis ze souboru — založil Petr
Zápis do souboru — založil Earl Cash
Zapis do souboru — založil Ondřej Karanský
Zápis do souboru — založil Martin
Moderátoři diskuze