1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Запись Строки В Файл

Тема в разделе "С и С++", создана пользователем random-name, 28 мар 2012.

  1. random-name

    random-name Гость

    Репутация:
    0
    Всем привет)

    Пишу программку, которая переписывает строку из .txt файла в другой .txt файл.
    Необходимо чтобы строки не перезаписывались, а писались с новой строки(это сделано), но также чтобы после каждой строки был пробел.

    Помогите разобраться! Заранее спасибо)

    Вот код:
    Код:
    #include "stdafx.h"
    #include "windows.h"
    #include <stdio.h>
    #include <iostream>
    #include <conio.h>
    #include <time.h>
    
    using namespace std;
    
    int _tmain()
    {
    FILE *file1, *file2;
    char* file_name = "D:\\file1.txt";
    char load_string[100] = "none";
    
    time_t tt;
    struct tm * ptm;
    char buf[BUFSIZ];
    
    tt = time(NULL);
    ptm = localtime(&tt);
    strftime(buf, BUFSIZ, "D:\\tt%Y%m%d.txt", ptm);
    
    file1 = fopen(file_name, "r");
    file2 = fopen(buf, "a");
    
    fputs( "string", file1);
    
    if( file1 != 0 )
    {fgets( load_string, 100, file1); 
    cout << "Data is record!" << endl; }
    else
    {cout << "File not found !" << endl;}	
    
    fprintf(file2, load_string); // Вот здесь непонятно. Пишу fprintf(file2, load_string, " "); но пробела так и нет.
    // Или пишу fprintf(file2, " \n", load_string); - тогда пробел в начале строки...
    
    fclose(file1);
    fclose(file2);
    
    _getch();
    }
     
  2. lazybiz

    lazybiz Well-Known Member

    Репутация:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    1.339
    Симпатии:
    0
    Не знаешь как работает printf/fprintf и как форматирование строки происходит?

    fprintf( file2, "%s ", load_string );
     
  3. random-name

    random-name Гость

    Репутация:
    0
    Не все так просто. Я пробовал и так...
    Если записать
    Код:
    fprintf(file2, "%s ", load_string);
    то пробел печатается в начале следующей строки.

    Я не понял почему происходит автоматический переход на новую строку.
    Если не затруднит - расскажите пожалуйста или ссылку киньте)

    Так вот надо чтобы пробел печатался в конце строки, а потом уже происходил переход на новую строчку.
     
  4. random-name

    random-name Гость

    Репутация:
    0
    Я понял почему происходит переход строки.
    Потому что в исходном файле уже есть этот перенос)

    Вопрос отпадает! Спасибо за внимание)
     
Загрузка...

Поделиться этой страницей