/ Forside/ Teknologi / Udvikling / C/C++ / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
Bech_bb 500
kyllekylle 500
jdjespers.. 500
gibson 300
scootergr.. 300
molokyle 287
10  strarup 270
opret fil, skriv til fil
Fra : janni_s
Vist : 878 gange
200 point
Dato : 08-11-09 12:32

Jeg er ved at lave et program hvor man skal taste sit navn, og så bliver dertjekket om filen eksisterer, og i så fald åbnes den for at læse og skrive til den. Hvis den ikke eksisterer skal der oprettes en fil med samme navn og skrives til filen.


Jeg har lavet dette indtil videre, hvor filnavnet oprettes vha strcat. Men jeg ikke ikke helt hvordan jeg tjekker om det allerede eksisterer og hvordan jeg opretter...Dette er kun en test som er et uddrag af mit samlede program, men jeg håber det er forståeligt alligevel


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main ()
{
   char navn[10];
   char filnavn [40]= "C:\\desktop\\";
   FILE *datafil
   datafil = fopen(filnavn, "a");
   
   
printf("Tast dit navn");
gets(navn);

strcat(filnavn, navn);
strcat(filnavn, ".txt");

fopen(filnavn, "w");

return 0;
}


 
 
Kommentar
Fra : janni_s


Dato : 08-11-09 14:18

Nu fandt jeg selv ud af hvordan det skulle gøres.
Men jeg har nu et andet spørgsmål.

Er det bedst at erklære alle variable før main og funktioner, eller er det bedst at erklære de variable der hører til de forskellige funktioner I funktionen?

Kommentar
Fra : BertelBrander


Dato : 08-11-09 15:05

Det er altid bedst at erklære variabler med mindst muligt scope, dvs. i funktioner og ikke globalt (før main), i blokke i funktioner i stedet for i toppen af funktionerne, lokalt i én cpp fil i stedet for globalt.

Kommentar
Fra : janni_s


Dato : 08-11-09 15:44

Okay tak.

og et sidste spørgsmål.

Er det en god ide at opbygge programmet så jeg i én funktion går til den næste og deri til den næste osv, og bruger en funktion i en funktion?
eller gør det programmet langsommere.
Vi har nemlig fået at vide, at vi kun må bruge main til at kalde funktioner i, så programmet ikke bliver langsomt.



Kommentar
Fra : janni_s


Dato : 08-11-09 16:40

og hvordan kan jeg undersøge om en fil eksisterer i forvejen?

Accepteret svar
Fra : BertelBrander

Modtaget 200 point
Dato : 08-11-09 19:32

Hvis du bare skal checke om filen er der, er det letteste at forsøge at åbne den, kan du det eksistere den.
Ellers er der funktionen stat:
http://linux.die.net/man/2/stat

Det er en god ide at dele sit program op i et antal funktioner der hver tager sig af en nøje afgrænset ting/funktion. Det har meget lidt at gøre med at være langsom eller ikke.

Kommentar
Fra : janni_s


Dato : 08-11-09 20:17

Ok. jeg prøvede det med filen, og det virkede.

Mange tak for hjælpen.

Godkendelse af svar
Fra : janni_s


Dato : 08-11-09 20:18

Tak for svaret BertelBrander.

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177413
Tips : 31962
Nyheder : 719565
Indlæg : 6407803
Brugere : 218875

Månedens bedste
Årets bedste
Sidste års bedste