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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
alex87
0 / 0 / 0
Регистрация: 03.08.2009
Сообщений: 12
#1

Необходимо дописать значение в вывод текстового файла - C++

18.08.2009, 11:49. Просмотров 1285. Ответов 5
Метки нет (Все метки)

Имеется программа, которая выводит из списка кучи данных, требуемые нам данные (назовём "1.txt"). Но программу необходимо дописать так, чтоб из файла 2.txt считывало необходимый код, и дописывало его в 1.txt.
Вот рабочая прога, которая выводит 1.txt:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
 
int main(void)
{
  FILE *in, *out;
  char tmp[255], tmp1[12], tmp2[11], ichfil[20], infits[50], iobalv[20];
  int iutano, iutmes, iutdia, iexps;
  double ra, de, dj;
  printf("\nSearching for unidentified flying objects:))\n");
  in=fopen("/home/alexey/astrometry_UCAC2_total_sample", "r");
  if(in==NULL){
    printf("Can not open or find the file!\n");
    return(1);}
  out=fopen("test.search", "w");
  while(fscanf(in, "%254c %lf %lf %11c %d %d %d %lf %d %20c %50c %20c %10c",
     tmp, &ra, &de, tmp1, &iutano, &iutmes, &iutdia, &dj, &iexps, ichfil, infits, iobalv, tmp2)!=EOF)
     fprintf(out, "%13.9lf %13.9lf %16.8lf %.20s\n", ra, de, dj, iobalv);
  fclose(in);
  fclose(out);
  return(0);
}
А вот данные файла 2.txt:
001 | start ephemeris extraction from nth file on the list
0.185 | pixel scale (arcsec/pixel)
568 | IAU code (511=Haute;874=LNA;568=Mauna Kea;500=geocentre, etc)
header_extraction.txt | file with extracted data from fits images
targets.txt | output skybot ephemerides for targets found

Необходимо чтоб в 1.txt добавило код 568 из 2.txt
помогите это сделать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2009, 11:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Необходимо дописать значение в вывод текстового файла (C++):

В конец каждой строки текстового файла дописать количество символов этой строки - C++
Помогите, нужно : &quot;В конец каждой строки текстового файла дописать количество символов этой строки&quot;. Получается только в начало, не знаю...

Вывод строки из текстового файла - C++
Написать функцию, удовлетворяющую следующим требованиям: Прототип: int f(char*a, int n) Параметры: а - указатель исходного массива, n -...

Вывод карты из текстового файла - C++
Доброго времени суток. При попытке создания несложного платформера я столкнулась со следующей проблемой. Имеется строковая карта в...

Вывод на экран данные из текстового файла - C++
Создайте текстовый файл целых чисел (значения вводятся с клавиатуры). Проанализировав в программе созданный файл, создайте еще 2 файла: ...

Вывод содержимого текстового файла на экран - C++
Нужно написать программу чтоб выводила содержимое текстового файла на экран, желательно по строчно после каждого нажатия ентер, ну или хотя...

Построчный вывод текстового файла на экран - C++
нужно организовать построчный вывод файла на экран пока остановился на данном способе, так как по крайней мере он понятен, с getline и...

5
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
18.08.2009, 21:34 #2
Там где fclose(out) стоит в 19-ой строке - не делай fclose().
А продолжай программу дальше.
Открой второй файл. Читай из него, пиши в out.
Потом в конце сделай fclose(out);

Добавлено через 2 минуты 5 секунд
Разумеется когда будешь читать из файла 2.txt, то нужно писать в out не все подряд, а искать нужную строку (568) и писать в out только ee.
1
alex87
0 / 0 / 0
Регистрация: 03.08.2009
Сообщений: 12
19.08.2009, 10:40  [ТС] #3
Спасибо, но это вот я понимаю, я просто хотелбы уточнить как вот эти самые 568 и ни что более вырезать из 2ого файла и вставить в конечный
0
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2009, 11:12 #4
Как-нибудь вот так.
C++
1
2
3
4
5
6
7
8
9
10
11
char buf[1024];
 
for ( ; ; ) {
         if ( fgets( buf, sizeof(buf), in2 ) == NULL ) {
                if ( feof( in2 ) ) { break; }
                /* error */
         }
         if ( strncmp( buf, "568", 3 ) == 0 ) {
                fprintf( out, "%s", buf );
         }
}
Добавлено через 2 минуты 14 секунд
Выражайся яснее - тебе нужно всю строку или что именно вырезать ? Приведи пример.

Добавлено через 32 секунды
Или тебе нужно именно 568 вырезать ?
1
alex87
0 / 0 / 0
Регистрация: 03.08.2009
Сообщений: 12
19.08.2009, 11:17  [ТС] #5
Именно 568
0
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2009, 11:23 #6
C++
1
2
3
4
5
6
7
8
9
10
11
char buf[1024];
 
for ( ; ; ) {
         if ( fgets( buf, sizeof(buf), in2 ) == NULL ) {
                if ( feof( in2 ) ) { break; }
                /* error */
         }
         if ( strncmp( buf, "568", 3 ) == 0 ) {
                fprintf( out, "568\n", buf );
         }
}
0
19.08.2009, 11:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2009, 11:23
Привет! Вот еще темы с ответами:

Вывод рандомных данных в классе из текстового файла - C++
Хочу вывести рандомные данные из текстового файла по одному. Но не знаю как. Подскажите. Код: #pragma once #include &lt;iostream&gt; ...

Работа с текстовыми файлами: Вывод из текстового файла - C++
Доброго времени суток! Есть проблема с выводом из текстового файла, прошу помочь. Суть проблемы: При выводе из текстового файла последняя...

В начало бинарного файла целого типа нужно дописать его минимальное значение, а в конец максимальное - C++
В начало бинарного файла целого типа нужно дописать его минимальное значение, а в конец максимальное. В общем я написал но оно почему то...

Вывод слова из текстового файла состоящего из нескольих слов - C++
Господа, помогите кодом , я толком и не понимаю... Надо из текстового файла вывести слово состоящие из нескольких слов. Как это...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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