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

C++ текстовые файлы. Не работает fseek - C++

Восстановить пароль Регистрация
 
888Kristi
0 / 0 / 0
Регистрация: 04.03.2013
Сообщений: 11
20.05.2013, 14:29     C++ текстовые файлы. Не работает fseek #1
Вот код программы:


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
int main()
{
    f = fopen("My_file.txt","w"); 
    if(f != NULL) 
    { 
      char ch; 
      fseek(f,0L,SEEK_END); 
    }
    fclose(f);
 
    char str_file[]="Text from the App"; 
    FILE *f;
    f=fopen("My_text.txt", "a");
    
    if(f != NULL) 
{   
printf("Ready...\n");
for(int i=0;i < strlen(str_file);i++) 
putc(str_file[i],f); 
 
} 
else printf("File is not open.\n"); 
fclose(f);
    _getch();
    return 0;
}

Файл создается, записывается, но не в указанной позиции.
Или я -что-то не то сделала...
Что нужно исправить, чтобы текст печатался в указанной позиции?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2013, 14:29     C++ текстовые файлы. Не работает fseek
Посмотрите здесь:

C++ Текстовые файлы
C++ Текстовые файлы
Текстовые файлы C++
fseek не работает C++
C++ Текстовые файлы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
20.05.2013, 16:27     C++ текстовые файлы. Не работает fseek #2
Цитата Сообщение от 888Kristi Посмотреть сообщение
Файл создается, записывается, но не в указанной позиции.
Что Вы хотите сделать вообще?
888Kristi
0 / 0 / 0
Регистрация: 04.03.2013
Сообщений: 11
20.05.2013, 16:42  [ТС]     C++ текстовые файлы. Не работает fseek #3
Цитата Сообщение от Tulosba Посмотреть сообщение
Что Вы хотите сделать вообще?
написать функцию, выводящую текст "Text from the App" в текстовый файл в заданной позиции
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
20.05.2013, 16:44     C++ текстовые файлы. Не работает fseek #4
Цитата Сообщение от 888Kristi Посмотреть сообщение
в текстовый файл в заданной позиции
А что Вы понимаете под позицией? Кол-во байт от начала файла или номер строки/столбца?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.05.2013, 16:57     C++ текстовые файлы. Не работает fseek #5
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
#include <stdio.h>
#include <conio.h> 
#include <string.h>
 
int main()
{
    FILE *f;
    f = fopen("My_file.txt","w");
     
    if(f != NULL) 
    {
        int p;
        printf("Enter position: ");
        scanf("%d", &p);
        fseek(f, p, SEEK_SET);
     
        char str_file[] = "Text from the App"; 
    
        printf("Ready...\n");
        for(int i = 0; i < strlen(str_file); i++) 
        putc(str_file[i], f); 
        fclose(f);
    } 
    else printf("File is not open.\n"); 
    
    getch();
    return 0;
}
888Kristi
0 / 0 / 0
Регистрация: 04.03.2013
Сообщений: 11
20.05.2013, 17:04  [ТС]     C++ текстовые файлы. Не работает fseek #6
Цитата Сообщение от Tulosba Посмотреть сообщение
А что Вы понимаете под позицией? Кол-во байт от начала файла или номер строки/столбца?
кол-во байт от начала)
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
20.05.2013, 17:06     C++ текстовые файлы. Не работает fseek #7
Цитата Сообщение от 888Kristi Посмотреть сообщение
кол-во байт от начала)
Тогда вон выше alsav22 привел рабочий вариант
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2013, 17:10     C++ текстовые файлы. Не работает fseek
Еще ссылки по теме:

C++ Текстовые файлы
C++ Текстовые файлы с++
Текстовые файлы с++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
888Kristi
0 / 0 / 0
Регистрация: 04.03.2013
Сообщений: 11
20.05.2013, 17:10  [ТС]     C++ текстовые файлы. Не работает fseek #8
Цитата Сообщение от alsav22 Посмотреть сообщение
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
#include <stdio.h>
#include <conio.h> 
#include <string.h>
 
int main()
{
    FILE *f;
    f = fopen("My_file.txt","w");
     
    if(f != NULL) 
    {
        int p;
        printf("Enter position: ");
        scanf("%d", &p);
        fseek(f, p, SEEK_SET);
     
        char str_file[] = "Text from the App"; 
    
        printf("Ready...\n");
        for(int i = 0; i < strlen(str_file); i++) 
        putc(str_file[i], f); 
        fclose(f);
    } 
    else printf("File is not open.\n"); 
    
    getch();
    return 0;
}


Спасибо огромное!!!!!!!!
))))**

Добавлено через 2 минуты
Цитата Сообщение от Tulosba Посмотреть сообщение
Тогда вон выше alsav22 привел рабочий вариант
Спасибо Вам тоже)))
Обидно, что все так просто... А я до этого додуматься сама не могу((
Yandex
Объявления
20.05.2013, 17:10     C++ текстовые файлы. Не работает fseek
Ответ Создать тему
Опции темы

Текущее время: 13:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru