"\"Hallo\""
/edit ich würde für fileediting die funktionen fputc ( 1 zeichen in datei schreiben ),fputs ( string in datei schreiben ),fgetc(1 zeichen auslesen),fgets(string auslesen entweder bis zeilenende oder max n zeichen) und fwrite(binärdaten schreiben) und fread(binärdaten lesen) benutzen
/edit2, das mit dem \n ist auch ein zeilenumbruch in einer Datei, crlf ( carriage return / line feed ) steht für "\n", das sind 2 zeichen ( ascii: 13 und 10 ) muss also als string eingetragen werden oder 2 ma als einzelnes Zeichen ( 13 danach 10 )

hf
cä
Code:
//---------------------------------------------------------------------------
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <SysUtils.hpp>
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
FILE *Fp;
char x[512];
clrscr();
printf(" dateiname :");
scanf("%s",x);
Fp=fopen(x,"w");
if (Fp==0) // wenn fp 0 ist dann ist das öffnen / erstellen der datei fehlgeschlagen
{
printf(" error");
getch();
}
else
{
printf(" text: ");
gets(x);
strcat(x,"\n");
while(x[0]!='\t') //so lange text einlesen und schreiben bis der user \t eingibt ( tabulator )
{
fputs(x,Fp);
gets(x); //eingabe eines strings in die addresse x ( der name eines arrays ist die startaddresse dessen )
//strcat(x,"\n");
}
fflush(stdin);
}
fclose(Fp);
printf("ende mit beliebiger taste");
getch();
return 0;
}
//---------------------------------------------------------------------------
kleines beispiel mit fputs, bisschen kommentiert, extra für dich <3
öhm, beispiel mit fwrite / fread ( binärdatei ) wenn zweifel besteht, dann melden ansonsten selbst nachvollziehen und testen
Code:
//----------------------------------------
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <condefs.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
void dateierzeugehn(FILE*);
void auslesung(FILE*);
void menu(FILE*);
void lkghhd(FILE*);
int main(int argc, char* argv[])
{
FILE *fp;
menu(fp);
getch();
return 0;
}
void menu(FILE* f_fp)
{
while (true)
{
clrscr();
printf("Auswahl [ ]:\n");
printf("1.Dateierzeuen\n2.Auslesen\n3.Bestimmte Zahl auslesen\n");
unsigned char v;
do
{
gotoxy(10,1);
fflush(stdin);
v=getch();
printf("%c",v);
}
while((v!= '1') && (v!= '2') && (v!='3'));
switch(v)
{
case '1': dateierzeugehn(f_fp);
break;
case '2': auslesung(f_fp);
break;
case '3': lkghhd(f_fp);
break;
}
}
}
void lkghhd(FILE* f_fp)
{
printf("DGFDFDFGF");
f_fp = fopen("bla.dat","rb");
int zahl, i;
if ( f_fp == NULL ) { printf("fehler\n"); }
else
{
printf("Waehlen sie den Datensatz aus\n");
for (i=0; !feof(f_fp);i++ )
{
fread(&zahl,4,1,f_fp);
printf("%i. Datensatz\n",i);
}
fclose(f_fp);
}
clrscr();
f_fp = fopen("bla.dat","rb");
if ( f_fp == NULL ) { printf("fehler\n"); }
else
{
while ( !feof(f_fp) )
{
fread(&zahl,4,1,f_fp);
if ( !feof(f_fp) )
printf("Zahl:%i\n",zahl);
}
fclose(f_fp);
}
getch();
}
void auslesung(FILE* f_fp)
{ clrscr();
f_fp = fopen("bla.dat","rb");
int zahl,i=0;
if ( f_fp == NULL ) { printf("fehler\n"); }
else
{
while ( !feof(f_fp) )
{
fread(&zahl,4,1,f_fp);
if ( !feof(f_fp) )
printf("Zahl:%i\n",zahl);
}
fclose(f_fp);
}
getch();
}
void dateierzeugehn(FILE* f_fp)
{
clrscr();
f_fp = fopen("bla.dat","a+b");
int zahl,i=0;
if ( f_fp == NULL ) { printf("fehler\n"); }
else
{
unsigned char v;
do
{ i++ ;
scanf("%i",&zahl);
fwrite(&zahl,4,1,f_fp);
printf("beliebige Taste ausser 'n' eingeben um eine neue zahl einzugeben\n");
v=getch();
}
while((v!='n')&&(v!='N'));
}
printf("g z%i\n",i);
fclose(f_fp);
}
//---------------------------------------------------------------------------