﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Программирование / C++  / Си, работа с файлами, помогите плз! / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Thu, 20 Nov 2008 01:48:52 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Си, работа с файлами, помогите плз!</title><link>http://www.relib.com/forums/Topic912388-7-1.aspx</link><description>[code]&lt;br&gt;#include &lt;stdio.h&gt;&lt;br&gt;#include &lt;stdlib.h&gt;&lt;br&gt;&lt;br&gt;#define FILE_NAME "data.txt"&lt;br&gt;&lt;br&gt;int main(int argc, char** argv) {&lt;br&gt;	FILE	*fFile = NULL;&lt;br&gt;	char	szData[20];&lt;br&gt;	unsigned int ValCount = 0;&lt;br&gt;	double	*dVal = NULL;&lt;br&gt;	fpos_t filepos;&lt;br&gt;&lt;br&gt;	fFile = fopen(FILE_NAME, "r");&lt;br&gt;	fgetpos(fFile, &amp;filepos);&lt;br&gt;	if (!fFile) return 1;&lt;br&gt;&lt;br&gt;	while (1) {&lt;br&gt;		if (!fgets(szData, sizeof(szData), fFile))&lt;br&gt;			break;&lt;br&gt;		ValCount++;&lt;br&gt;	}&lt;br&gt;&lt;br&gt;	fsetpos(fFile, &amp;filepos);&lt;br&gt;&lt;br&gt;	dVal = (double*)malloc(sizeof(double)*ValCount);&lt;br&gt;&lt;br&gt;	for (unsigned int i = 0; i &lt; ValCount; ++i) {&lt;br&gt;		fgets(szData, sizeof(szData), fFile);&lt;br&gt;		dVal[i] = atof(szData);&lt;br&gt;		printf("%f", dVal[i]);&lt;br&gt;	}&lt;br&gt;	free(dVal);&lt;br&gt;	fclose(fFile);&lt;br&gt;	return 0;&lt;br&gt;}&lt;br&gt;[/code]</description><pubDate>Sat, 14 Apr 2007 02:52:15 GMT</pubDate><dc:creator>genok</dc:creator></item><item><title>RE: Си, работа с файлами, помогите плз!</title><link>http://www.relib.com/forums/Topic912388-7-1.aspx</link><description>написано же, что автор топика - не программист, конечно нужен текст рабочей программы :)&lt;br&gt;&lt;br&gt;вопрос: известно ли изначально количество чисесл в файле? или программа должна сама определить это? (не то чтобы я уже взялся ваять пример, но ответ на этот вопрос может повлиять на алгоритм решения :)</description><pubDate>Fri, 13 Apr 2007 12:09:58 GMT</pubDate><dc:creator>boombastik</dc:creator></item><item><title>RE: Си, работа с файлами, помогите плз!</title><link>http://www.relib.com/forums/Topic912388-7-1.aspx</link><description>ну для начала нужно знать что является разделителем целой и дробной частей.&lt;br&gt;если как у вас это запятая, то тогда открываем файлик (fopen) с режимом для чтения(чтения/записи) и читаем (fgets) и преобразуем строку в double (atof).&lt;br&gt;&lt;br&gt;или нужен прям Текст рабочей программы?</description><pubDate>Fri, 13 Apr 2007 12:03:35 GMT</pubDate><dc:creator>genok</dc:creator></item><item><title>Си, работа с файлами, помогите плз!</title><link>http://www.relib.com/forums/Topic912388-7-1.aspx</link><description>Проблема следущая: нужна программа которая считывает числа типа double из файла (в моем случае это индексы валютного курса) и записывает их в массив double A[n].&lt;br&gt;&lt;br&gt;т.е есть файлик примерно с таким содержанием:&lt;br&gt;31,7101&lt;br&gt;31,784&lt;br&gt;31,8214&lt;br&gt;31,8352&lt;br&gt;31,835&lt;br&gt;31,8351&lt;br&gt;31,8354&lt;br&gt;31,8517&lt;br&gt;&lt;br&gt;как сделать чтобы данные в массив типа DOUBLE с него читались так:&lt;br&gt;A[0]=31,7101&lt;br&gt;A[1]=31,784&lt;br&gt;A[2]=31,8214&lt;br&gt;...&lt;br&gt;&lt;br&gt;извините за ламерский вопрос, я вообще не программист, просто мне по диплому очень надо...</description><pubDate>Wed, 11 Apr 2007 16:28:46 GMT</pubDate><dc:creator>lalain</dc:creator></item></channel></rss>