• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Работа с файлами

  • Автор темы Автор темы Sorento
  • Дата начала Дата начала

Sorento

Новые
Регистрация
23 Ноя 2012
Сообщения
14
Реакции
0
Баллы
0
Работа с файлами

В первом файле записаны строчке, содержащие по два целых числа каждая. Количество строк неограниченно. Требуется прочитать из первого файла эти числа, и если в строке хоть одно меньше нуля, то записать сумму двух чисел в строке во второй файл. Суммы должны отделяться запятой, после последнего точка с запятой.

кто нибудь может подсказатЬ?
код ниже работает не полностью. а именно когда последние числа в файле положительные. оно и понятно, потому что условие символа новой строки. но я не знаю какое условие нужно. подскажите?:)


Код:
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#pragma warning (disable : 4996)

int _tmain(int argc, _TCHAR* argv[])
{
FILE *input;
FILE *output;
char bf[2][20];

if((input=fopen("labar.txt","r"))==NULL||(output=fopen("new_labar.txt","w"))==NULL){
	printf("Error");
		exit(1);
}

while(fscanf(input, "%s%s", bf[0],bf[1])!=EOF){
	if(atoi(bf[0])<0||atoi(bf[1])<0){
	printf("%i\n", atoi(bf[0])+atoi(bf[1]));
	fprintf(output,"%i",atoi(bf[0])+atoi(bf[1]));
	if(fgetc(input)=='\n')
		fprintf(output,",");
	}
	}
fprintf(output, ";");
fclose(input);
fclose(output);

getchar();
return 0;
}

Если кто может помочь пожалуйста)
 
Назад
Сверху