2016-04-18 8 views
0

I c Datei bin mit der Eingabe von der Konsole nimmtPassing Datei manuell statt stdin value_t read_sexpr (FILE * f) in c

value_t read_sexpr(FILE *f) // This is a Function 
read_sexpr(stdin) // Thats how it is calling from main 

Ich möchte Zeichenfolge übergeben, anstatt unter Eingabe von der Konsole. Kann es gemacht werden?

+0

In C++ gibt es 'std: istringstream'. –

+0

yup ich versuchte, ich, ve nicht gute Fähigkeiten in c, so dass ich fehlgeschlagen:/ –

+0

Was, möchten Sie eine Zeichenfolge an Ihr Programm als Befehlszeilenparameter übergeben? – Logicrat

Antwort

1

Verwenden fmemopen() zum Öffnen eines FILE mit einer Schnur gesichert:

#include <stdio.h> 

const char mystring[] = "test"; 
FILE *testfile = fmemopen(mystring, sizeof mystring, "r"); 

Beachten Sie, dass fmemopen Funktion kein Standard-C. Es ist jedoch Standard-POSIX.

Vergessen Sie nicht, die Datei anschließend zu schließen. Lesen Sie die manual page für weitere Details.

+0

Bündel von Dank. Es hat mir wirklich geholfen :) –