powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Дописать фаил
12 сообщений из 12, страница 1 из 1
Дописать фаил
    #34781438
СпиК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите новичку.
Есть фаил:
FK|2005.08|СЭД|1.21.X.13||
FROM|5600с**а21.03.2007|1|
TO|||14650||
RR||188||9500||А.П. Щербина|Н.В. Котов|Начальник отделения|Гончарова С.В.|0|
RRRC|188/14650/011|20.03.2007|20.03.2007|0|0||1|14650||5600х..во218278105000|215290000|70982585000|15290000|224539855000|72823405000|||0|10484|
RRRCST|188|0302|2010000|222|222|50000000|50000000|0|0||1|
RRRCST|188|0302|2020000|253|226|3877355000|150000000|0|0||2|
RRRCST|188|0302|2020000|253|290|111400000|14000000|0|0||3|
RRRCST|188|0302|2150000|240|262|1290000|1290000|0|0||4|
RRRCST|188|0302с**а218278105000|215290000|70982585000|15290000||5|


Надо вставить в начало конец строки, которая начинается на RRRC и в конец файла тест.
Вот исходник
Код: plaintext
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.
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void main (int argc, char *argv[])
{
   FILE *in, *out;
   char buf[ 1024 ];
   char buf2[ 1024 ];
   char *ptr;
   int cnt= 0 ;
   if (argc> 2 ) {
   if ((in = fopen(argv[ 1 ], "r"))
       == NULL)
   {
      fprintf(stderr, "       Cannot open input file.\n");
      exit( 1 );
   }
   if ((out = fopen(argv[ 2 ], "w"))
       == NULL)
   {
      fprintf(stderr, "       _Cannot open input file.\n");
       exit( 1 );
   }
   while (!feof(in)){
   fgets(buf, 1024 ,in);
   if (cnt== 0 ) {
   strcpy(buf2,buf);
   ptr=&buf2[ 11 ];
   strcpy(buf,"FK|2006.01|");
   strcat(buf,ptr);

   }
   cnt++;
   
   if (strncmp("RRRC|",buf, 5 )== 0 )
   {
    buf[strlen(buf)- 1 ]='|';
    buf[strlen(buf)]='|';
    fprintf(out,"%s\n",buf) ;
    
   }
   else
   fputs(buf,out);
   }
    fputs("REORG||||||",out);
    fclose(out);
    fclose(in);  
   }
}
И почему-то получается вот так:
FK|2006.01|СЭД|1.21.X.13||
FROM|5600с**а21.03.2007|1|
TO|||14650||
RR||188||9500||А.П. Щербина|Н.В. Котов|Начальник отделения|Гончарова С.В.|0|
RRRC|188/14650/011|20.03.2007|20.03.2007|0|0||1|14650||5600х..во218278105000|215290000|70982585000|15290000|224539855000|72823405000|||0|10484|||МММММММММММММММММММММММММММММММММММММММММ°JB
RRRCST|188|0302|2010000|222|222|50000000|50000000|0|0||1|
RRRCST|188|0302|2020000|253|226|3877355000|150000000|0|0||2|
RRRCST|188|0302|2020000|253|290|111400000|14000000|0|0||3|
RRRCST|188|0302|2150000|240|262|1290000|1290000|0|0||4|
RRRCST|188|0302с**а218278105000|215290000|70982585000|15290000||5|
RRRCST|188|0302с**а218278105000|215290000|70982585000|15290000||5|
REORG||||||

Помогите плиз!!!
...
Рейтинг: 0 / 0
Дописать фаил
    #34782275
СпиК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну кто-нибудь, я считаю ведь это не так уж и сложно.
Я уже все перепробовал, что знаю.
...
Рейтинг: 0 / 0
Дописать фаил
    #34782452
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СпиКНу кто-нибудь, я считаю ведь это не так уж и сложно.
Я уже все перепробовал, что знаю.
Диагноз программа сделал ровно то что ты написал. Ты нипиши какой файл на выходе хотел иметь тогда помогу
...
Рейтинг: 0 / 0
Дописать фаил
    #34782580
СпиК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blinded
Диагноз программа сделал ровно то что ты написал. Ты нипиши какой файл на выходе хотел иметь тогда помогу
Без МММММММММММММММММММ, т.е.так

авторFK|2006.01|СЭД|1.21.X.13||
FROM|5600с**а21.03.2007|1|
TO|||14650||
RR||188||9500||А.П. Щербина|Н.В. Котов|Начальник отделения|Гончарова С.В.|0|
RRRC|188/14650/011|20.03.2007|20.03.2007|0|0||1|14650||5600х..во218278105000|215290000|70982585000|15290000|224539855000|72823405000|||0|10484|||
RRRCST|188|0302|2010000|222|222|50000000|50000000|0|0||1|
RRRCST|188|0302|2020000|253|226|3877355000|150000000|0|0||2|
RRRCST|188|0302|2020000|253|290|111400000|14000000|0|0||3|
RRRCST|188|0302|2150000|240|262|1290000|1290000|0|0||4|
RRRCST|188|0302с**а218278105000|215290000|70982585000|15290000||5|
RRRCST|188|0302с**а218278105000|215290000|70982585000|15290000||5|
REORG||||||
...
Рейтинг: 0 / 0
Дописать фаил
    #34782589
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так батенька зачем же концевой ноль в буфере затер? Вот тебе мусору и насыпали, хорошо еще мало и печатными символами, а можно и access violation схватить
...
Рейтинг: 0 / 0
Дописать фаил
    #34782597
СпиК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как его "растереть"?
...
Рейтинг: 0 / 0
Дописать фаил
    #34782615
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
  if (strncmp("RRRC|",buf, 5 )== 0 )
   {
    buf[strlen(buf)- 1 ]='|';
    buf[strlen(buf)]='|';
    buf[strlen(buf) +  1 ]='\0';
    fprintf(out,"%s\n",buf) ;
   }
...
Рейтинг: 0 / 0
Дописать фаил
    #34782616
СпиК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как поставить в буфер концевой ноль?
...
Рейтинг: 0 / 0
Дописать фаил
    #34782632
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну написал же
Код: plaintext
1.
buf[strlen(buf) +  1 ]='\0';
...
Рейтинг: 0 / 0
Дописать фаил
    #34782655
СпиК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да я это увидел спасибо, просто чуть опоздал.
Теперь у меня привыполнении этого экзешника выдает "RR.exe - обнаружена ошибка. Приложение будет закрыто. ..."
...
Рейтинг: 0 / 0
Дописать фаил
    #34782671
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый хрен взялся учить
Код: plaintext
1.
2.
3.
4.
int i = strlen(buf);
buf[i- 1 ]='|';
buf[i]='|';
buf[i +  1 ]='\0'
...
Рейтинг: 0 / 0
Дописать фаил
    #34783097
СпиК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Больое спасибо, все получилось.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Дописать фаил
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]