Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Почему БЕЗОШИБОЧНО создаётся файл, а его не видно? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Транспонирование матрицы с использованием указателей http://www.cyberforum.ru/cpp-beginners/thread279071.html
Задание: Из матрицы X (mxn) построить матрицу Y, поменяв местами строки и столбцы. Использовать указатели. Помогите, второй день не могу освоить указатели. А завтра сдавать работу...
C++ Лаба по программированию Известен вещественный знакопеременный двумерный массив K=(Kij), i=1,2,..5, j=1,2,..7 Вычислить разность между максимальными и минимальными по модулю элементами массива. Вывести на экран полученную... http://www.cyberforum.ru/cpp-beginners/thread279057.html
Подсчитать наибольшее количество подряд идущих пробелов в тексте C++
С помощью текстового редактора БЛОКНОТ создать файл, содержащий текст, длина которого не превышает 700 символов (длина строки текста не должна превышать 70 символов). Файл должен иметь...
C++ Обработка структур данных
Здравствуйте.никак не могу понять задачу. подскажите решение. в голову ничего не лезит. (задача на языке СИ) вот условие: Сведения о читателях библиотеки состоят из фамилии, имени, адреса...
C++ произведение элементов в каждом столбце с нечетным индексом http://www.cyberforum.ru/cpp-beginners/thread279049.html
Доброго времени суток форумчане. Прошу помощи в решении вот этой задачки: 1.Найти произведение элементов в каждом столбце с нечетным индексом и создать из них одномерный массив. Буду очень...
C++ Узнать с какими ключами может запускаться программа при компилировании через командную строку нужно вводить всякие параметры, типо gcc -o file.exe file.c мне надо изъять подобную команду для компиляции проекта из MVS есть наверняка какой-нить файл,... подробнее

Показать сообщение отдельно
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
19.04.2011, 07:49
C89
L_tmpnam

which expands to an integral constant expression that is the size of
an array of char large enough to hold a temporary file name string
generated by the tmpnam function;
TMP_MAX

which expands to an integral constant expression that is the minimum
number of unique file names that shall be generated by the tmpnam
function;
4.9.4.4 The tmpnam function

Synopsis

#include <stdio.h>
char *tmpnam(char *s);

Description

The tmpnam function generates a string that is a valid file name
and that is not the same as the name of an existing file./102/

The tmpnam function generates a different string each time it is
called, up to TMP_MAX times. If it is called more than TMP_MAX times,
the behavior is implementation-defined.

The implementation shall behave as if no library function calls the
tmpnam function.

Returns

If the argument is a null pointer, the tmpnam function leaves its
result in an internal static object and returns a pointer to that
object. Subsequent calls to the tmpnam function may modify the same
object. If the argument is not a null pointer, it is assumed to point
to an array of at least L_tmpnam char s; the tmpnam function writes
its result in that array and returns the argument as its value.

"Environmental limits"

The value of the macro TMP_MAX shall be at least 25.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
#include <assert.h>
 
#define MAXPATH  1000
 
int main(void)
{
    FILE *fp;
    char path[MAXPATH + L_tmpnam];
        
    printf("L_tmpnam: %d\n", L_tmpnam);
    printf("TMP_MAX: %d\n", TMP_MAX);
    
    sprintf(path, "%s", tmpnam(NULL));
    
    printf("<%s>\n", path);
    
    fp = fopen(path, "w");
    assert(fp != NULL && "open or create file");
    
    putc('.', fp);
    putc('\n', fp);
    
    fclose(fp);
    
    return 0;
}
Код
[guest@localhost tests]$ .ansi t.c -o t
/tmp/ccRTlvM1.o: In function `main':
t.c:(.text+0x3e): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
[guest@localhost tests]$ ./t
L_tmpnam: 20
TMP_MAX: 238328
</tmp/file4d7IoC>
[guest@localhost tests]$ cat /tmp/file4d7IoC
.
[guest@localhost tests]$ ./t
L_tmpnam: 20
TMP_MAX: 238328
</tmp/file7AYVF0>
[guest@localhost tests]$ cat /tmp/file7AYVF0
.
[guest@localhost tests]$ ls /tmp/file*
/tmp/file4d7IoC  /tmp/file6abNZM  /tmp/file7AYVF0  /tmp/file8z4HF5  /tmp/fileJJsp5u
[guest@localhost tests]$
Добавлено через 1 минуту
Цитата Сообщение от kravam
...tmpnam же по сути просто-напросто генерит строку символов, не совпадающую ни с одним из названием файлов, которые есть в текущем каталоге.
неправильно
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru