Мне нужно выполнять вычисления в коде и записывать результат в текстовый файл.
Вот функция API, которая записывает в файл:
WriteFile( hFile, cTextBuffer, sizeof(cTextBuffer), &dwBytes, NULL );
Но она работает с текстом, а как записывать числа в файл? Если можно, покажите пример, который бы выполнял любые вычисления и результат записывал в файл. Спасибо.
Здравствуйте, Аноним, Вы писали:
А>Мне нужно выполнять вычисления в коде и записывать результат в текстовый файл. А>Вот функция API, которая записывает в файл: А>WriteFile( hFile, cTextBuffer, sizeof(cTextBuffer), &dwBytes, NULL );
А>Но она работает с текстом, а как записывать числа в файл? Если можно, покажите пример, который бы выполнял любые вычисления и результат записывал в файл. Спасибо.
А может стоит попробовать iostream & operator >> (<<)?
Re[2]: Как записывать числа в файл?
От:
Аноним
Дата:
13.12.04 15:49
Оценка:
Здравствуйте, _McSIMM, Вы писали:
_MS>Здравствуйте, Аноним, Вы писали:
А>>Мне нужно выполнять вычисления в коде и записывать результат в текстовый файл. А>>Вот функция API, которая записывает в файл: А>>WriteFile( hFile, cTextBuffer, sizeof(cTextBuffer), &dwBytes, NULL );
А>>Но она работает с текстом, а как записывать числа в файл? Если можно, покажите пример, который бы выполнял любые вычисления и результат записывал в файл. Спасибо.
_MS>А может стоит попробовать iostream & operator >> (<<)?
На Си пишу. Но в любом случае хочется узнать, как это сделать с помощью Win API.
Здравствуйте, Аноним, Вы писали:
А>Мне нужно выполнять вычисления в коде и записывать результат в текстовый файл. А>Вот функция API, которая записывает в файл: А>WriteFile( hFile, cTextBuffer, sizeof(cTextBuffer), &dwBytes, NULL );
А>Но она работает с текстом, а как записывать числа в файл? Если можно, покажите пример, который бы выполнял любые вычисления и результат записывал в файл. Спасибо.
Во-первых она работает не текстом, а с массивом байт.
Во-вторых если нужна запись чисел в файл в видк строки, используй sprintf(), itoa() ...
Здравствуйте, Аноним, Вы писали:
А>На Си пишу. Но в любом случае хочется узнать, как это сделать с помощью Win API.
В таком случае, если только Си+АПИ, то, скорее всего придется писать свой парсер,
ибо, насколько мне известно, АПИ для форматированного ввода-вывода нет.
Здравствуйте, _McSIMM, Вы писали:
_MS>В таком случае, если только Си+АПИ, то, скорее всего придется писать свой парсер, _MS>ибо, насколько мне известно, АПИ для форматированного ввода-вывода нет
Здравствуйте, Аноним, Вы писали:
А>WriteFile( hFile, cTextBuffer, sizeof(cTextBuffer), &dwBytes, NULL ); А>Но она работает с текстом, а как записывать числа в файл? Если можно, покажите пример, который бы выполнял любые вычисления и результат записывал в файл. Спасибо.
Надо бы определиться, в каком формате требуется хранить данные?
1. Тестовый, тогда вполне сгодятся функции fprintf и fscanf
2. Бинарный, WriteFile и ReadFile рулят. В этом случае хранится все структурированно (т.е. заранее нужно знать формат файла).
Небольшой пример:
Где то в дебрях H-файла
struct MY_STRUCT
{
char Text[256];
int IntNum;
double DoubleNum;
};
MY_STRUCT DataToWrite;
ZeroMemory( &DatToWrite, sizeof(DataToWrite) );
DWORD ReadBytes = 0;
ReadFile( hFile, &DataToWrite, sizeof(MY_STRUCT), &ReadBytes, NULL );
// Теперь можно посмотреть на свою структуру DataToWrite
Я думаю в Вашем случае WriteFile и ReadFile будет вполне достачно
Здравствуйте, Аноним, Вы писали:
А>Мне нужно выполнять вычисления в коде и записывать результат в текстовый файл. А>Вот функция API, которая записывает в файл: А>WriteFile( hFile, cTextBuffer, sizeof(cTextBuffer), &dwBytes, NULL );
А>Но она работает с текстом, а как записывать числа в файл? Если можно, покажите пример, который бы выполнял любые вычисления и результат записывал в файл. Спасибо.
Насколько велико количество чисел? Если очень велико, то можно использовать приведение типов. Например, создавать массив чисел и сохранять в файл.