This page was last modified 07:09, 9 April 2008.
CS000889 - Creating temporary files in Open C
From Forum Nokia Wiki
| ID | CS000889 | Creation date | April 7, 2008 |
| Platform | S60 3rd Edition | Tested on devices | Nokia N93 |
| Category | Open C | Subcategory | Files/Data |
| Keywords (APIs, classes, methods, functions): tmpnam(), tmpfile() |
Overview
Programs often need to create temporary files just for the life time of the program. In Open C tmpnam() and tempfile() functions exist to assist in this task.
- tmpnam() generates file names that can be used for a temporary file.
- tmpfile() creates a temporary file and opens a corresponding stream to the created file.
The tmpnam() and tmpfile() functions return a pointer to a file name on success or NULL pointer in case of an error.
Note: In order to use this code, you need to install the Open C plug-in.
This snippet can be self-signed.
MMP file
The following libraries are required:
LIBRARY libc.lib
Source file
#include <stdio.h> //fprintf, tmpnam, tmpfile, FILE #include <sys/stat.h> //S_IWUSR int main (void) { char *tmp_pathname = 0; char buffer[100]; FILE *tmp_fileptr = 0; FILE *tmp_filestream = 0; /* create the tmp directory */ mkdir("c:\\tmp", S_IWUSR); /* - tmpnam - */ if (!(tmp_pathname = tmpnam(NULL))) { perror("Error creating temporary filename!"); abort(); } fprintf(stdout, "Temporary pathname %s\n", tmp_pathname); if (!(tmp_fileptr = fopen(tmp_pathname, "w"))) { perror("Error opening temporary file"); abort(); } else { fclose(tmp_fileptr); remove(tmp_pathname); } /* - tmpfile - */ if (!(tmp_filestream = tmpfile())) { perror("Error generating temporary stream!"); abort(); } /* write to temporary file */ fprintf(tmp_filestream, "Temporary stream created by PID[%ld]", (long)getpid()); fflush(tmp_filestream); /* read from temporary file */ rewind(tmp_filestream); fgets(buffer, 100, tmp_filestream); fprintf(stdout, "Temporary stream: %s\n", buffer); if(tmp_filestream) fclose(tmp_filestream); return 0; }
Postconditions
Two temporary files are created. The tmpfile() created file is automatically deleted by the OS when all references to the file are closed.
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Temporary WAP url | positif | Browsing and Mark-ups | 1 | 2002-07-18 07:47 |
| SP-MIDI for 3200 | dreamer1981 | General Discussion | 1 | 2003-11-09 12:20 |
| creating .mmp,.inf,.rss,hrh files | vvsnaresh | General Symbian C++ | 0 | 2005-03-04 13:13 |
| Transfer data 6510 to 6230 | corinae | General Discussion | 5 | 2005-07-07 13:01 |
| Application Icon View? | nanara | General Symbian C++ | 2 | 2006-10-25 11:08 |

