Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2013, 12:55   #1
schkiper
Новичок
Джуниор
 
Регистрация: 02.05.2013
Сообщений: 8
Сообщение Работа с текстовым файлом

Всем привет!
Мне нужно написать код шифрования "Простой замены"
Суть в том, что есть некоторый файл .txt, состоящий из 10 символов. Дальше вводим символы с клавиатуры. После этого каждый символ последовательно складывается с символом из файла и в итоге получаем новую строку символов.
Проблема в том, что я не могу понять, как надо вытащить символы из файла и сложить их с символами, введенными с клавиатуры.
Код:
int main(void) {

	FILE *fp;

	int i;
	char strc[10];
	memset(strc, '\0', strlen(strc));
	gets(strc);
	puts(strc);

	fp = fopen(test1, r);
	
	for (i=0; i<5; i++)
	{
		int getc(FILE *fp);
		strc[i]=strc[i]+getc(FILE *fp);
			puts(strc[i]);

	}
Помогите новичку, пожалуйста?
schkiper вне форума Ответить с цитированием
Старый 02.05.2013, 13:04   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Вы на каком языке пишите? Чего то не очень похож на C#
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 02.05.2013, 13:09   #3
schkiper
Новичок
Джуниор
 
Регистрация: 02.05.2013
Сообщений: 8
По умолчанию

Пишу на Си, в среде разработки eclipse.
Подправил код:
Код:
int main(void) {

	FILE *fp;

	int i;
	char strc[10];
	memset(strc, '\0', strlen(strc));
	gets(strc);
	puts(strc);

	fp = fopen("/Users/Egor/Documents/workspace/test2/src/test1", "r");
	char u[10];
	for (i=0; i<strlen(strc); i++)
	{
		int getc(FILE *fp);
		int X=getc(FILE *fp);
		strc[i]=strc[i]+X;
			puts(strc[i]);

	}
Сейчас ругается на
Код:
int X=getc(FILE *fp);
Пишет: expected expression before 'FILE' test2.c

А в целом я даже не знаю, правильно ли я пишу(
schkiper вне форума Ответить с цитированием
Старый 02.05.2013, 13:13   #4
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Ну во первых разделом ошиблись это точно. Вам надо в раздел С++.
Во второых чтение необходимо делать функцией scanf()
или вот как в примере

Код:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main () {
    string line;
    string text;
    int count = 0;
    ifstream myfile ("example.txt");
 
    if (myfile.is_open())
    {
        while (! myfile.eof() )
        {
            getline (myfile,line); // тут считывание строки 
            text += line; // добавляем к буферу
        }
        myfile.close();
    }
    else cout << "Unable to open file"; 
    return 0;
}
А у вас ругается на int X=getc(FILE *fp);
напишите int X=getc(fp);
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.

Последний раз редактировалось WorldMaster; 02.05.2013 в 13:15.
WorldMaster вне форума Ответить с цитированием
Старый 02.05.2013, 13:19   #5
schkiper
Новичок
Джуниор
 
Регистрация: 02.05.2013
Сообщений: 8
По умолчанию

Раздел сейчас поменять попробую.
А функциями gets/puts нельзя разве считывать символы из файла?
schkiper вне форума Ответить с цитированием
Старый 02.05.2013, 13:21   #6
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от schkiper Посмотреть сообщение
Раздел сейчас поменять попробую.
А функциями gets/puts нельзя разве считывать символы из файла?
Я же написал int X=getc(fp); попробуйте, так должно заработать
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 02.05.2013, 13:26   #7
schkiper
Новичок
Джуниор
 
Регистрация: 02.05.2013
Сообщений: 8
По умолчанию

Помогло, спасибо.

А вообще я правильно пишу, чтобы сложить 2 символа, для получения нового?

Последний раз редактировалось schkiper; 02.05.2013 в 13:28. Причина: Сам нашел ошибку.
schkiper вне форума Ответить с цитированием
Старый 02.05.2013, 13:32   #8
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от schkiper Посмотреть сообщение
А вообще я правильно пишу, чтобы сложить 2 символа, для получения нового?
Да нет.. сомневаюсь что это правильно.
Вот поэтому было бы проще открыть файл как поток и считывать из него байты а не символы.
К тому же надо продумать если уникод там будет или чтото большое.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 02.05.2013, 13:46   #9
schkiper
Новичок
Джуниор
 
Регистрация: 02.05.2013
Сообщений: 8
По умолчанию

С тобой по ICQ можно пообщаться?
schkiper вне форума Ответить с цитированием
Старый 02.05.2013, 13:47   #10
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от schkiper Посмотреть сообщение
С тобой по ICQ можно пообщаться?
пиши. Контакты в подписи
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Работа с текстовым файлом marina12 Помощь студентам 0 19.03.2013 14:34
Работа с текстовым файлом Vitek.i Microsoft Office Excel 3 19.12.2010 09:32
Работа с текстовым файлом. tae1980 Microsoft Office Excel 10 29.06.2010 19:16
Работа с текстовым файлом в Си Eovin Помощь студентам 0 19.05.2010 13:47