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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SmiI
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 12
#1

Работа с файлами (Скопировать второе слово каждой строки в начало следующей строки) - C++

27.02.2013, 19:16. Просмотров 314. Ответов 0
Метки нет (Все метки)

Скопировать второе слово каждой строки в начало следующей строки.
Примечания:
1. Имя файла, который подлежит обработке, должно быть параметром программы.
2. Файл должен иметь не менее 10-15 строк текста.
3. Допускается ограничить максимальную длину строки в тексте 80 символами.
4. Допускается (если в индивидуальном задании не оговорено иначе) считать, что слова разделяются пробелами, а знаки препинания рассматривать как буквы.
5. Программу следует разрабатывать, исходя из предположения, что весь текст из файла не может быть размещен в оперативной памяти.
6. Допускается создавать при выполнении программы временные файлы, которые, однако, не должны сохраняться после окончания программы.
С ошибкой код и не доработан помогите пожалуйста.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include "stdafx.h"
#include <stdlib.h> 
#include <stdio.h>
#include <clocale> //библиотека для использования русских символов
 
char* fun(char *a){
    int i,j,k;
    char *b;
   
    for(k=0;a[k]==' ';k++);
    for(i=k;a[i]!='\0' && a[i]!=' ';i++);
    for(k=i;a[k]==' ';k++);
    for(i=k;a[i]!='\0' && a[i]!=' ';i++);
    
            
    b=(char*)calloc(i+1-k, sizeof(char)); // динамическое выделение памяти для массива
    
    for(j=0; j<i-k;j++){
        b[j]=a[j+k];
 
    }
    b[j]='\0';
    return b;
    }
 
 
 
int main(){
    FILE *f;
    FILE *of;
    char *z;
    setlocale(LC_CTYPE,"");
 
 
 
/*Открытие файла с проверкой об этом:*/
if ((f=fopen("C:\Aleksandra\1.txt","r"))==NULL) {
printf("Невозможно открыть файл. \n");
system("pause"); 
exit(0);
 
}
 
/*Создание доп-ного файла с проверкой:*/
if ((of=fopen("TMP","w"))==NULL) { 
printf("Невозможно создать файл.\n");
system("pause"); 
exit(0);}
 
z=fun(a);
    printf("%s",z);
    free(z);  
    printf("\n");
    system("pause");
    return 0;
 
fclose(f); // для открытого файла
fclose(of); // для созданного файла
 
//Удаление созданного файла:
unlink("TMP");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2013, 19:16     Работа с файлами (Скопировать второе слово каждой строки в начало следующей строки)
Посмотрите здесь:

переписать содержимое текстового файла в другой текстовый файл,добавляя в начало каждой строки её порядковый номер(с++) C++
Скопировать второе слово из каждой строки и вставить их в новый текстовый файл C++
Как сделать, чтобы при вводе в консоли <Enter> не переводил курсор на начало следующей строки? C++
C++ Строки в файлах (вывести из каждой строки последнее слово)
Вывести на экран второе слово введённой пользователем строки C++
C++ Дан текстовый файл ( определить слово с наибольшим количеством букв и вставить его на начало и конец строки)
C++ Как считать первое слово из каждой строки?
C++ Для каждой строки файла удалить короткое слово
Строки. Удалить каждое второе слово C++
Приписать второе слово второй строки к первой, развернуть первую строку C++
Второе слово второй строки нужно скопировать в первую строку C++
C++ Скопировать из файла F1 в файл F2 все строки, кроме той, которая содержит самое короткое слово

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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