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

Функция getc (FILE*) при первом вызве считывает НЕ ПЕРВЫЙ символ файла.Почему? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Simple WinAPI framework http://www.cyberforum.ru/cpp-beginners/thread46975.html
#include "app.h" int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR CmdLine, int ShowCmd) { Application *app = new Application(hInstance); app->Initialize(); int result...
C++ Вопрос о строках. Здравствуйте, все. Талдычу строки. #include <iostream> #include <stdio.h> using namespace std; int main() { http://www.cyberforum.ru/cpp-beginners/thread46966.html
C++ Определить, содержит ли 4-х значное число 3 одинаковые цифры.
Я сортирую, а потом сравниваю, но что то не работает :( char* mas(char* a, int s); int main(int argc, char *argv) { const int size=100; char arr; int i, k;
Выбрать и упорядочить данные из текстового файла C++
В языке С не сильна, и программа вызвала некое недоумение) Есть тестовый файл со следующими данными: 0.299 -0.410 960.20 4551.85 1.120 346.85 275.46 20.508 19.854 99.999 20.085 19.431...
C++ Координаты для вывода массива http://www.cyberforum.ru/cpp-beginners/thread46893.html
Товарищи, помогите массив вывести в координатах. Делаю так: HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); COORD coord = {50,50}; const int y=3,x=3; int a={1,1,1,1,1,1,1,1,1}; int i, j;...
C++ От чего мы любим С++? Хочу спросить наших уважаемых гуру, как истинных специалистов в области программирования на С++ несколько давно наболевших вопросов. Я уже успел попробовать всего по чуть-чуть и мне сложно... подробнее

Показать сообщение отдельно
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
14.08.2009, 02:50
Когда ты открываешь файл и используешь fputc,то ты продвигаешь каждый раз указатель в связанном с файлом потоке.Когда ты открываешь его с fopen,то файл уже открыт,и возможно что он открывается с той же позиции указателя,которую установил fputc,а это значит,что файловый буфер у них общий.Попробуй сначала закрыть файл,а потом уже
C
1
chetnie_iz_faila= fopen ("fail.txt", "r");
Советую поглядеть описание функций.

Добавлено через 14 минут 5 секунд
Попробуй перед открытием использовать функцию
C
1
void rewind ( FILE * stream );
Или fseek,или нечто в этом роде.
А вычитал я это здесь http://www.cplusplus.com/reference/clibrary/cstdio/
То есть примерно так:
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
28
29
30
31
#include <iostream.h> 
 
int main (void) {
 
 FILE* zapis_v_fail;
 FILE* chetnie_iz_faila;
 
 //Записываем сыимолы в файл
   zapis_v_fail= fopen ("fail.txt", "w");
   fputc('a', zapis_v_fail);
   fputc('b', zapis_v_fail);
   fputc('c', zapis_v_fail);
   fputc('d', zapis_v_fail);
 
   rewind ( zapis_v_fail );
 //Считываем на экран первый символ
   chetnie_iz_faila= fopen ("fail.txt", "r");
   printf ("simvol= %d", getc (chetnie_iz_faila));
 
 //А вот адреса структур. Они РАЗНЫЕ
   printf ("adres strukturi zapis_v_fail= %d", zapis_v_fail);
   printf ("adres strukturi chetnie_iz_faila= %d", chetnie_iz_faila);
 
 
  fclose (zapis_v_fail);
  fclose (chetnie_iz_faila);
 
  getchar ();
 
  return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru