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

  • Автор темы random-name
  • Дата начала
R

random-name

#1
Всем привет)

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

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

Вот код:
C++:
#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();
}
 

lazybiz

Well-known member
03.11.2010
1 339
0
#2
Не знаешь как работает printf/fprintf и как форматирование строки происходит?

fprintf( file2, "%s ", load_string );
 
R

random-name

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

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

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

random-name

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

Вопрос отпадает! Спасибо за внимание)