51 lines
1.2 KiB
C++
51 lines
1.2 KiB
C++
/**
|
|
* Simple example showing how to use stdin_to_temp
|
|
*
|
|
* Compile with:
|
|
* g++ -O3 -o stdin_to_temp_demo stdin_to_temp_demo.cpp
|
|
*
|
|
* Run examples:
|
|
* cat file1 | ./stdin_to_temp_demo
|
|
* cat file1 | ./stdin_to_temp_demo | cat >file2
|
|
* cat file1 | ./stdin_to_temp_demo dummy1 dummy2 | cat >file2
|
|
* ./stdin_to_temp_demo <file1 | cat >file2
|
|
* ./stdin_to_temp_demo <file1 >file2
|
|
*
|
|
*/
|
|
|
|
#include <igl/stdin_to_temp.h>
|
|
using namespace igl;
|
|
|
|
#include <cstdio>
|
|
using namespace std;
|
|
|
|
int main(int argc,char * argv[])
|
|
{
|
|
// Process arguements and print to stderr
|
|
for(int i = 1;i<argc;i++)
|
|
{
|
|
fprintf(stderr,"argv[%d] = %s\n",i,argv[i]);
|
|
}
|
|
|
|
FILE * temp_file;
|
|
bool success = stdin_to_temp(&temp_file);
|
|
if(!success)
|
|
{
|
|
fprintf(stderr,"Fatal Error: could not convert stdin to temp file\n");
|
|
// try to close temp file
|
|
fclose(temp_file);
|
|
return 1;
|
|
}
|
|
|
|
// Do something interesting with the temporary file.
|
|
// Read the file and write it to stdout
|
|
char c;
|
|
// Read file one character at a time and write to stdout
|
|
while(fread(&c,sizeof(char),1,temp_file)==1)
|
|
{
|
|
fwrite(&c,sizeof(char),1,stdout);
|
|
}
|
|
// close file
|
|
fclose(temp_file);
|
|
}
|