Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
1

Очередное WTF )))

21.07.2011, 20:40. Показов 1424. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот до чего меня жизнь довела:
имеем файл file.txt который содержит просто строку "Hello,World!" (с ковычками). Далее пишем такой код:
C++
1
2
3
4
5
6
7
8
9
10
#include<iostream>
 
char hello[100] = {
#include "file.txt"
};
 
int main(){
      std::cout<<hello<<std::endl;
      return 0;
}
И оно работает!!! Очевидно, что выводится строка, которую содержит файл.
Я очень удивился, когда это все скомпилировалось, но когда удачно отработало, то вообще. Потом посидел - покурил и понял, что удивляться тут не чему, все вполне логично.

Думаю многим интересно будет на это посмотреть, тем более лето - на форуме глухо ))
22
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2011, 20:40
Ответы с готовыми решениями:

Очередное, из теста
Текст вопроса При вызове multiply (X1=1, Y1=2) по форме описания: int multiply (X, Y) { X +=Y++...

Компилятор не компилирует WTF?!
Пишу код, компилирую, все ок, исправил одно значение, компилирую, остается предыдущая версия кода,...

Расширение языка С. WTF?
Hi, All! Решил на выходных заняться учебой, сессия скоро. На эти выходные наметил себе план...

ООП + полиморфизм = wtf?
Есть: Класс A - отец Класс Б - дочерний Класс Ц - дочерный, наследуеться от А(сестра Б) Есть...

15
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
21.07.2011, 20:52 2
Kastaneda, какой компилятор? У меня на OpenWatcom такое не прокатывает...
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
21.07.2011, 20:55  [ТС] 3
MSVS 2010

Добавлено через 1 минуту
В MinGW тоже работает, только что проверил.
0
71 / 76 / 9
Регистрация: 30.06.2011
Сообщений: 176
21.07.2011, 20:58 4
Инициализация массива файлом. Во как !
0
401 / 312 / 74
Регистрация: 17.03.2010
Сообщений: 1,119
21.07.2011, 21:00 5
Dev-C++ - работает!!!
"Hello,World!" (с ковычками)
Без кавычек, тож)
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
21.07.2011, 21:04  [ТС] 6
Цитата Сообщение от NIch Посмотреть сообщение
Dev-C++ - работает!!!
Я ж написал:
В MinGW тоже работает, только что проверил.



Цитата Сообщение от An1ka
Инициализация массива файлом. Во как !
Ага, вот теперь думаю, как бы сделать так, чтобы наличие кавычек в файле было необязательным, тогда вообще круто будет)

Добавлено через 43 секунды
Цитата Сообщение от NIch Посмотреть сообщение
Без кавычек, тож)
В студии без кавычек не хочет, а вобще странно, ща проверю.
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
21.07.2011, 21:05 7
Опп.. Соврал. С кавычками OpenWatcom понимает.
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
21.07.2011, 21:07  [ТС] 8
Не может он без кавычек работать:
Код
//MinGW
file.txt|1|error: 'Hello' was not declared in this scope|
file.txt|1|error: 'World' was not declared in this scope|
file.txt|1|error: expected '}' before '!' token|
file.txt|1|error: expected ',' or ';' before '!' token|
error: expected declaration before '}' token|
||=== Build finished: 5 errors, 0 warnings ===|
В DEV_C++ используется компилятор MinGW, только возможно более старый.
0
385 / 229 / 12
Регистрация: 06.07.2011
Сообщений: 512
21.07.2011, 21:20 9
забавно)
0
401 / 312 / 74
Регистрация: 17.03.2010
Сообщений: 1,119
21.07.2011, 21:22 10
Да, все верно.
Пробовал изменять запись в файле все равно выводит Hello world!.
Можно удалять файл, программа не меняет свою работу. Она включает его в процессе компиляции.
И без кавычек компилироваться не хочет!
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
21.07.2011, 21:24  [ТС] 11
Цитата Сообщение от NIch Посмотреть сообщение
Она включает его в процессе компиляции.
Ну так в этом и есть суть препроцессорных директив
1
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
21.07.2011, 23:30 12
Она включает его еще ДО компеляции.
Да, неплохо так )
0
385 / 229 / 12
Регистрация: 06.07.2011
Сообщений: 512
22.07.2011, 00:01 13
жаль перевод строки и прочее не воспринимает без управляющих символов
0
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
22.07.2011, 01:30 14
как вам такая штука?
включаем загаловочник, открывая все закрытые поля
C++
1
2
3
4
5
6
7
8
#define private public
 
#include <iostream>
#include <string>
#include <vector>
#include <iomanip>
 
#undef private
0
Программист
119 / 97 / 11
Регистрация: 22.03.2011
Сообщений: 244
22.07.2011, 02:08 15
Чему удивляться то? - ПРЕПРОЦЕССОР - извращениям нет конца...
0
2304 / 1225 / 246
Регистрация: 16.03.2008
Сообщений: 5,840
Записей в блоге: 2
22.07.2011, 08:15 16
Вдарим нашим отечественным кодом по понятию "индусский код"!!!

0
22.07.2011, 08:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2011, 08:15
Помогаю со студенческими работами здесь

Спецификация файла. WTF?
Здравствуйте. Что такое спецификация файла (в контексте данной задачи)? В Google ничего понятного...

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

Очередное деструктивное: при вызове деструктора все падает
Доброго времени суток! Есть некий класс H, с конструктором, деструктором: H(int size, int top){...

map assigment of read only data member или WTF?
задача:из acm.timus.ru 1100. Таблица результатов Ограничение времени: 1.0 секунды Ограничение...

Определить минимальное значение n>0, для которого очередное слагаемое по модулю не превышает eps
Формулировка задания: &quot;Определить минимальное значение n&gt;0, для которого очередное слагаемое по...

WTF не работает простой код на Visual studio 2008(баг?)
Взял код из википедии....


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru