Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
 Аватар для Gr1f0nn
244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690

Подобие команды ls. Ошибка: Syntax error: "(" unexpected

03.04.2015, 22:35. Показов 4183. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Пытаюсь написать на C подобие команды ls, но постоянно вылезает эта ошибка:
5: Syntax error: "(" unexpected
На какую скобку жалуется в 5 строчке, не пойму. Писал по-разному, доходило даже до чего-то невообразимого:
C
1
2
3
4
5
6
int main();
int main(void);
(int) main();
(int main(void));
int main;
.....
Пробовал уже разные варианты написания, брал другие реализации, но без толку.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <dirent.h>
 
 int main(int argc, char **argv)
 {
     DIR *dfd;
     struct dirent *dp;
     char filename[NAME_MAX];
     if ( argc < 2 )
             strcpy(filename, ".");
     else
             strcpy(filename, argv[1]);
     if ( !(dfd=opendir(filename)) )
              return 1;
     while( (dp=readdir(dfd) != NULL)
               printf("%s\n", dp->d_name);
     closedir(dfd);
     return 0;
Здесь нашел решение, которое должно было помочь: https://viewsby.wordpress.com/... nexpected/

Но, в итоге, пишет ошибку :
bash not found
Программу вызывал следующими образами:
./ls.c - жалуется на скобку
sh ./ls.c - ---//---
csh ./ls.c - ---//---
bash ./ls.c - bash not found
Уже не знаю, что делать.

Заранее благодарен за помощь!

Добавлено через 5 минут
Да, файл создавал в редакторе joe
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.04.2015, 22:35
Ответы с готовыми решениями:

PHP - Выскакивает ошибка Parse error: syntax error, unexpected T_STRING in
Всем привет. У меня выскакивает ошибка: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE...

Ошибка Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRIN
При запуске локального сервера, выдает эту ошибку. Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING...

Ошибка Parse error: syntax error, unexpected '=', expecting ',' or ';' in /inc_db.php on
global $db = mysqli_connect('localhost','--------','------------')or die(mysql_error()); mysqli_select_db(&quot;--------&quot;,$db); ...

8
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,024
04.04.2015, 00:50
Это, типа, запоздалая первоапрельская шутка??!
Компилировать программу не пробовали??

Bash
1
2
gcc -o myls ls.c
./myls
1
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
04.04.2015, 00:53
Gr1f0nn,
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <dirent.h>
 
int main(int argc, char **argv) {
    DIR *dfd;
    struct dirent *dp;
    char filename[NAME_MAX];
    strcpy(filename, (argc < 2) ? "." : argv[1]);
    if ((dfd=opendir(filename)) == NULL) {
        return EXIT_FAILURE;
    }
    while ((dp=readdir(dfd)) != NULL) {
        printf("%s\n", dp->d_name);
    }
    closedir(dfd);
    return EXIT_SUCCESS;
}
Добавлено через 1 минуту
Gr1f0nn, в вашем коде строка 15 должна быть:
C
1
while( (dp=readdir(dfd)) != NULL)
пропущена скобка после readdir(dfd)
1
 Аватар для Gr1f0nn
244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690
04.04.2015, 02:30  [ТС]
grgdvo, Нет, к сожалению, не шутка

Пробовал и так, но пишет следующее:
Code
1
gcc not found
Да, забыл сказать, что пользуюсь FreeBSD и подключаюсь к серверу по адресу, поэтому, если что-то надо будет поставить, то скорее всего это не получится сделать (или я ошибаюсь?). Если все-таки можно, то я так понимаю, надо вручную поставить gcc?

schdub, Спасибо за Ваш вариант! Но, ошибка все равно такая же.

Не по теме:

Некоторые скобки не скопировались(варварским способом копировал) из файла изначально, однако в самом файле скобки расставлены по местам

0
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,024
04.04.2015, 12:30
Лучший ответ Сообщение было отмечено Gr1f0nn как решение

Решение

Цитата Сообщение от Gr1f0nn Посмотреть сообщение
Пробовал и так, но пишет следующее:
gcc not found
Точно не знаю про FreeBSD, попробуйте компилятор : cc

Bash
1
cc -o myls ls.c
1
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
04.04.2015, 13:15
Лучший ответ Сообщение было отмечено Gr1f0nn как решение

Решение

Gr1f0nn, смотря какая у вас версия FreeBSD, на новых вроде бы отказалить от GCC в пользу clang. Если учитывать что исходик у вас в myls.c, запустите:
Bash
1
clang myls.c -o myls && ./myls
если в ответ будет что-то типа
Code
1
clang not found
то тогда уже попробуйте установить gcc из портов:
Bash
1
cd /usr/ports/lang/gcc49/ && make install clean
если будут какие-то ошибки, то пробуйте
Bash
1
pkg install lang/gcc49
и компилируйте как указал grgdvo в посте №2.
1
 Аватар для Gr1f0nn
244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690
04.04.2015, 17:24  [ТС]
grgdvo, schdub, спасибо, попробую эти варианты.

Версия FreeBSD 10, если я правильно понял, где ее искать.
0
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
04.04.2015, 17:40
Gr1f0nn, как раз начиная с FreeBSD 10 компилятор по умолчанию - CLANG.
FreeBSD Is No Longer Building GCC By Default
1
 Аватар для Gr1f0nn
244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690
04.04.2015, 18:52  [ТС]
grgdvo, schdub, Спасибо вам большое за помощь!
Все заработало.

Писал так:
Code
1
cc -o myls ./ls.c
Попробовал и этим вариантом:
Bash
1
clang ls.c -o myls && ./myls
Тоже все отлично работает!
Еще раз спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.04.2015, 18:52
Помогаю со студенческими работами здесь

В чем ошибка (Parse error: syntax error, unexpected '$i' (T_VARIABLE), expecting ';') ?
private function select($table_name,$fields,$where=&quot;&quot;,$order=&quot;&quot;,$up=true,$limit=&quot;&quot;) { for(int $i=0; $i&lt;count($fields); $i++){ ...

Ошибка - Parse error: syntax error, unexpected T_VARIABLE как исправить?
$table = 'tp-20' $result = mysql_query('SELECT * FROM `$table` '); синтаксический ошибка как правильно писать ?

Ошибка в php скрипте: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
Возникла ошибка в php скрипте на вывод текста из БД Сама ошибка: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in...

Ошибка как исправить PHP Parse error: syntax error, unexpected '['
Всем привет. Ребята помогите решить проблему. сайт пишет вот такую ошибку PHP Parse error: syntax error, unexpected '$month=; ...

Ошибка кода Parse error: syntax error, unexpected T_ELSEIF
Добрый вечер. Решил попробовать написать бота для ВКонтакте, получаю ошибку Parse error: syntax error, unexpected T_ELSEIF Загуглив понял...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru