LINUX.ORG.RU

Ошибка сегментирования при чтении из файла

 


0

3

Пусть здесь и смешают с говном, зато быстро дадут ответ. Итак уже на других форумах больше чем полдня жду.

Ситуация: открыл файл, читаю... Хрясь! Ошибка сегментирования.

int L1_readstrings(void)
{
	char * line;
	
	line = "";
	
	while (fgets(line, 255, source))
	{
		printf(line);
	}
	
	return 1;
}
/home/alex/Developing/C/KM/SCRIPTS/compile.sh: line 13:  7663 Ошибка сегментирования                   ./cave
::: Program stopped with code: 139

★★★

Последнее исправление: AlexCones (всего исправлений: 1)

Пусть здесь и смешают с говном

На ЛОРе адекватные люди сидя вообще-то. Даже в девелопменте такие иногда встречаются.

Ты лучше покажи, как компилируешь. Что внутри compile.sh?

CYB3R ★★★★★
()
Ответ на: комментарий от CYB3R
#!/bin/bash

clear

cd /home/alex/Developing/C/KM/CODE

rm *.o 2>/dev/null
rm cave 2>/dev/null

gcc -Wall -W -c *.c
gcc *.o -o cave

./cave

echo "::: Program stopped with code: $?"
AlexCones ★★★
() автор топика
Ответ на: комментарий от AlexCones

okay. куда запишет данные твой fgets() ?

anonymous
()

printf(line);

нельзя так делать, это же знаменитый format string

делай printf(«%s», line); например

иначе будет крешится в зависимости от содержимого файла. и вообще можно код выполнить

redixin ★★★★
()
Ответ на: комментарий от redixin

нельзя так делать

Да. Или puts можно использовать.

observer ★★★
()
Ответ на: комментарий от redixin

printf(line);
нельзя так делать, это же знаменитый format string
делай printf(«%s», line); например
иначе будет крешится в зависимости от содержимого файла. и вообще можно код выполнить

Это вставил просто для теста, строка будет обрабатываться.

AlexCones ★★★
() автор топика

Аааааааааа

anonymous
()
Ответ на: комментарий от AlexCones
rm *.o 2>/dev/null
rm cave 2>/dev/null

Будь проще, используй 'rm -f':

-f, --force ignore nonexistent files and arguments, never prompt

d ★★★★
()

Неучей, которые делают так line = ""; while (fgets(line, 255, source)) надо сажать на осиновый кол.

LinuxUser-0x0
()
Ответ на: комментарий от AlexCones

С экрана - глаза болят.

Отговорочки. Я иной раз по 4-5 часов читаю, и у меня не болят (хоть я и старенький уже), а у него, вишь ты, болят. :)

Настрой не-ШГ, увеличь размер шрифта, фон настрой человеческий, а не гиковский. И не будет ничего болеть.

По твоим нескольким последним постам я вижу, что K&R ты читать категорически не желаешь. Очень зря!

DeVliegendeHollander ★★
()
Ответ на: комментарий от DeVliegendeHollander

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

AlexCones ★★★
() автор топика
Ответ на: комментарий от AlexCones

У меня в принципе есть в html. Но там много файлов по главам.

А, ну да, в html у меня тоже где-то валяется в архивах.

Но там много файлов по главам.

Ну и в чём проблема? Открыл браузер, настроил нормальный шрифт, мягкий для глаз фон - и вперёд. Из браузера тоже удобно читать. Даже на ноуте, не говоря уж о десктопе.

DeVliegendeHollander ★★
()
Ответ на: комментарий от observer

Сойдет?

Там же листинги большими буквами! Жесть.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.