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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2009, 09:42   #1
mc_12
 
Регистрация: 03.01.2009
Сообщений: 4
По умолчанию Считывание строк в массив

задача- считать файл построчно - и занести куда-нибудь каждую строку.
Есть код (он как-бы работает - но когда начинаешь работать с массивом,
оказывается, что в нём какието кракозябры а не буквы.
Код:
#include "fstream.h"
int main()
{
ifstream fin ("in.txt");
ofstream fout ("out.txt");
char stroka[10][10];
char s;
int i,j=0;
while (!fin.eof())
{
if (fin.peek()=='\n')
{     
        i++;
        j=0;
}
{
fin.get(s);
cout << s;
stroka[i][j]=s;
j++;
}
}
cout << "\n";
fin.close();
for (i=0;;i++)
{
        for(j=0;;j++)
        {
        fout << stroka[i][j];
        }
}
fout.close();
}
Помогите пожалуйста

Модератор: тег CODE

Последний раз редактировалось MaTBeu; 03.01.2009 в 18:32.
mc_12 вне форума Ответить с цитированием
Старый 03.01.2009, 10:30   #2
StarWorm
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 233
По умолчанию

Строки не присваюваются, а копируются...
т.е. strcpy(stroka[i][j],s);
StarWorm вне форума Ответить с цитированием
Старый 03.01.2009, 18:33   #3
mc_12
 
Регистрация: 03.01.2009
Сообщений: 4
По умолчанию

Спасибо!
Надеюсь поможет
mc_12 вне форума Ответить с цитированием
Старый 05.01.2009, 07:40   #4
mc_12
 
Регистрация: 03.01.2009
Сообщений: 4
По умолчанию

не помогло,
выскакивает ошибка при компиляции (visual C++6)

C:\SL_b1\main.cpp(23) : error C2664: 'strcpy' : cannot convert parameter 1 from 'char' to 'char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
C:\SL_b1\main.cpp(38) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.

main.obj - 1 error(s), 1 warning(s)
mc_12 вне форума Ответить с цитированием
Старый 05.01.2009, 13:11   #5
StarWorm
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 233
По умолчанию

Вот тебе рабочий код:
Код:
#include <iostream>
#include <conio.h>
#include <fstream>

using namespace std;


int main()
{
	ifstream inFile ("c://input.txt");
	ofstream outFile ("c://output.txt");
	if(!inFile || !outFile)
	{
		cout<<"Error!!!";
		getch();
		return 1;
	}
	char str[20][255];
	int count=0;
	char tmp[255];
	while(inFile.getline(tmp,255,'\0'))	//или get(tmp,255,'\0');
	{
		strncpy(str[count++],tmp,255);
		outFile<<tmp;
	}
	for(int i=0;i<count;i++)
		cout<<str[i]<<endl;
	inFile.close();
	
	getch();
}
P.S. заносится и в массив str, и в выходной файл output.txt
P.P.S написана на VS2008, переправить надо только названия заголовочных файлов
StarWorm вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить новый одномерный массив В,каждый элемент которого равен мин элементу строк исходной матрицы Artimbulidor Помощь студентам 6 29.12.2008 18:51
задача на массив строк hijack Помощь студентам 0 26.11.2007 23:10
Добавление строк в массив boks Microsoft Office Excel 2 28.09.2007 10:08