Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
5 / 5 / 1
Регистрация: 12.08.2015
Сообщений: 57

Код не компилируется на Linux

06.02.2016, 08:39. Показов 728. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день написал программу. Работает на windows'е нормально ,но при компиляции на Linux выдает ошибку.
Помогите переделать под Linux.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#include <stdio.h>
#include <stdlib.h>
 
#define MAX 100
#define LEN 255
 
int main(int argc, char *argv[])
{ 
    register int t, i, j, e, k;
    int size, num_of_column, max_size_column[LEN];
    char text[MAX][LEN];
    FILE *fp;
    
    setlocale(0, "Russian");
    
    if(argc!=2) {
        exit(1);
    }
    
    if((fp=fopen(argv[1], "r+"))==NULL) {
        exit(1);
    }
    
    for(t=0; t<MAX; t++) {
        fgets(text[t], LEN, fp);
        if(!*text[t]) break;
    }
    
    
    if((fp=fopen(argv[1], "w+"))==NULL) {
        exit(1);
    }
    
    
 
    for(j=0; text[0][j]; j++)
        if(text[0][j]=='+') num_of_column++;
    num_of_column=num_of_column-1;
    
 
    for(k=0; k<num_of_column; k++) 
        max_size_column[k]=0;
        
    k=0;
    
    
    for(i=0; i<t; i++)
        for(j=0; text[i][j]; j++) {
            if(text[i][0]=='|') {
                if(text[i][j]!='|' && text[i][j]!=' ') size++;
                if(text[i][j]=='|' && j!=0) {
                    if(max_size_column[k]<size) max_size_column[k]=size;
                    size=0;
                    k++;
                    if(k==num_of_column) k=0;
                }
            }
        }
    
    
    for(i=0; i<t; i++) {
        
        if(text[i][0]=='+') {
            fprintf(fp, "+-");
            for(e=1; e<=max_size_column[k]; e++) {
                fprintf(fp, "-");
                if(e==max_size_column[k]) {
                    e=0;
                    k++;
                    k==num_of_column ? fprintf(fp,"-+\n") : fprintf(fp, "-+-");
                }
            }
            k=0;
        }
        
        if(text[i][0]=='|') {
            fprintf(fp, "| ");
            for(e=0, j=1; e<=max_size_column[k]; ) {
                
                if(text[i][j]!='|' && text[i][j]!=' ') {
                    for( ; text[i][j]; ) {
                        putc(text[i][j] , fp);
                        e++;
                        j++;
                        if(text[i][j]=='|' || text[i][j]==' ') {
                            while(text[i][j]!='|') j++;
                            break;
                        }
                    }
                }
                
                if(text[i][j]=='|' && e<max_size_column[k]) {
                    while(e!=max_size_column[k]) {
                        fprintf(fp, " ");
                        e++;
                    }
                }
                
 
                if(e==max_size_column[k]) {
                    e=0;
                    k++;
                    if(k!=num_of_column) fprintf(fp, " | ");
                    if(k==num_of_column) {
                        fprintf(fp, " |\n");
                        break;
                    }
                }
                
                if(text[i][j]=='|' || text[i][j]==' ') {
                    j++;
                }
            }
            k=0;
        }
    }
    
    fclose(fp);
    
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.02.2016, 08:39
Ответы с готовыми решениями:

Fstat64() - не компилируется код под Linux
Под Linux не компилируется код: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;sys/stat.h&gt; unsigned long long int...

В формате .cpp код компилируется, а в .c не компилируется
1).Подскажите почему в формате .cpp код компилируется, а в .c не компилируется 2). Как сделать так, чтобы компилировалось в .c? ...

Программа не компилируется на Linux
Программа была написана на винде, но надо ее скомпилировать на линуксе. Помогите, просто очень срочно надо #include &lt;conio.h&gt; ...

4
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
06.02.2016, 10:59
gcc 4.8.4 скомпилировался без проблем. Какую ошибку у вас выдаёт?
0
5 / 5 / 1
Регистрация: 12.08.2015
Сообщений: 57
06.02.2016, 12:12  [ТС]
у меня не скомпилировался на самом последнем gcc но версию точную не помню

Добавлено через 39 секунд
он на fgets ругался про безопасность
0
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
06.02.2016, 14:18
4.9.3 тоже проходит. Покажите точное сообщение об ошибке.

Добавлено через 1 час 45 минут
Сейчас специально для этого собрал последнюю стабильную версию 5.3.0. Вывел только предупреждение про setlocale. Добавил
C
1
#include <locale.h>
и собралось без замечаний. Ошибок вообще не было.

Помимо точного сообщения об ошибке, покажите, пожалуйста, с какими ключами компилировали.
0
5 / 5 / 1
Регистрация: 12.08.2015
Сообщений: 57
06.02.2016, 15:01  [ТС]
Не знаю что было ,но все после обновления скомпилировалось. Но к сожалению она не выполняет почему-то поставленную задачу ,хотя на винде все работает. https://server.179.ru/tasks/olymp/041.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.02.2016, 15:01
Помогаю со студенческими работами здесь

Не компилируется стандартный пример openGL [c++] [linux] [NetBeans]
Здравствуйте! Решил попробовать свои силы в OpenGL, установил библиотеки, подключил инклюды, делал всё по этой инструкции, но...

Почему в Dev-C++ код не компилируется, если исходный код будет с расширением ".c"?
Почему в Dev-C++ код не компилируется, если исходный код будет с расширением &quot;.c&quot; , а с &quot;.cpp&quot; работает прекрасно? В Википедии...

Не компилируется код
Объясните, пожалуйста, почему не компилируется код...вот подпрограмма, в которой ошибки: procedure Gaus(n:integer; A:MasA; B:MasB; Var...

Не компилируется код
class Animal { String name; public String getName() { return name; } public Animal(String theName) { ...

Не компилируется код
Нашел данный код на одном из сайтов. Пытаюсь скомпилировать в gcc выдает ошибки. В си новичок. #include &lt;stdio.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
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-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru