Hilfe bei Ausgabe in Datei



  • Hallo,

    bei diesem Soucecode möchte ich das beim Fettgedruckten in eine Datei schreiben und nicht wie hier mit dem befehl printf nur auf dem bildschirm anzeigen lassen!

    Vielen Dank

    Cdummy

    /**************************************************************************
    Description : print out all channels of a device
    Parameter : ChanMask: the filter mask (see SMA-Data-Description)
    Return-Value : (none)
    Changes : Author, Date, Version, Reason
    ********************************************************
    PRÜSSING, 02.07.2001, 1.0, Created
    *************************************************************************/
    void PrintChannelValues(WORD ChanMask)
    {
    int res;
    DWORD ChanHandle[100]; //Max 100 channels
    char ChanName[200];
    char DevName[200];
    int i;
    int ChanCount;
    DWORD DevHandle;
    double Value;
    char TextValue[30];
    DWORD MaxValueAge = 10; /
    maximum age of the channel value in seconds...*/

    printf("Device handle: ");
    scanf("%ld",&DevHandle);

    ChanCount = GetChannelHandles(DevHandle, ChanHandle, 100, ChanMask, 0);
    GetDeviceName(DevHandle, DevName, sizeof(DevName)-1);
    printf( "Device '%s' has %d %s%s channels:\n",
    DevName,
    ChanCount,
    (ChanMask & CH_TEST) ? "(Test)" : "",
    (ChanMask & CH_PARA) ? "Parameter" : "Spot" );

    printf("Reading channel values, please wait...\n");

    printf("-----------------------------------------------------\n");
    printf("Channel handle | Channel Name | Channel value |\n");
    printf("-----------------------------------------------------\n");

    for(i=0;i<ChanCount;i++)
    {
    GetChannelName(ChanHandle[i],ChanName, 200);

    /* Get channel value... /
    res = GetChannelValue(ChanHandle[i], DevHandle, &Value, TextValue, 30, MaxValueAge);
    if(res==0)
    {
    /* Status texts?
    /
    if (strlen( TextValue )==0)
    sprintf( TextValue,"%f", Value);
    }
    else
    {
    if(ChanMask & CH_PARA)
    {
    printf("Error reading channel value....Code=%d\n",res);
    break;
    }
    strcpy(TextValue,"<unkown>");
    }

    printf(" %3ld | '%16s' | '%s'\n", ChanHandle[i], ChanName, TextValue );
    }
    }



  • man: fprintf(3)

    Beispiel:

    #include <stdio.h>
    
    int main() {
      FILE * myfile;
    
      myfile = fopen("dateiname", "w"); /* öffnen zum schreiben im Textmodus ("w") */
      fprintf(myfile, "irgendwas wie bei printf ...\n");
      fclose(myfile);  /* schließen */
    
      return 0;
    }
    

Anmelden zum Antworten