Змінюй хід війни! Допомагай ЗСУ!

Перенос длинных строк в C

🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
Статус: Offline
Реєстрація: 23.09.2008
Повідом.: 851
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #1
Перенос длинных строк в C

Как ни странно на С пишу давно, а проблема встретилась мне только сейчас .
В общем есть у меня объект String и я его инициализирую внутри кода:
NSString *a = *" какая то строка";
Так вот - строка эта очень длинная при переносе ее на следующую строку, компилятор перестает ее понимать. Я предполагаю что нужно дописывать в строку какие то специальные символы, но я не знаю какие, гугл не помог.
Откликнитесь кто знает, очень уж неудобны будут макароны в коде:confused:
 
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #2
aa = "sdfasdgfadfg \
sfgsdfg asdfg"

.
 
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #3
может обратный слэш в конец строки?

CRNBS опередил :)
 
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #4
Да, помогло :-) , но появились предупреждения типа
warning: backslash-newline at end of file
это нормально?
 
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #5
неправильно

надо вот так:

NString *str = new NString("абра кадабра абра кадабра "
" абра кадабра абра "
"кадабра");

насколько я помню (года 4 на си не писал :)), в си две строки в кавычках конкатенируются препроцессором, т.е. это будет одна и та-же строка:
- "абра кадабра"
- "абра" " " "кадабра"

в С# такого нет

а если надо в макросе (чтобы все в одну строку препроцессором вытянулось, т.к. макрос в одной строке должен быть), тогда так:

#define ABRA_KADABRA_STR "абра кадабра абра "\
"кадабра абра кадабра "\
"абра кадабра"
 
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #6
Попробовал как сказал Klez - результат тот же.
Предупреждения есть - но все работает корректно.
У меня как раз директива препроцессора.
Среда - Objective C (забыл сказать)
 
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #7
Предупреждения есть - но все работает корректно.
У меня как раз директива препроцессора.

напиши на какой кусок кода ругается (раз с макросом, то приведи определение макроса и как его используешь) и какое предупреждение, без этого что либо сказать сложно - гадание на кофейной гуще
 
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #8
#define CSSFile *""\
"\nbody{\n"\
"background-color: %*;\n"\
"}\n"\
"h1{\n"\
"color: %*;\n"\
"}\n"\
"p {\n"\
"font-size: %d;\n"\
"}"

Это код в отдельном h. файле. Ворнинги появляются во всех .m (cpp) файлах, которые прямо или косвенно импортируют этот файл прямо после директивы #import. Когда пишу все в одну строку - ворнингов нет. Когда вызываю #define в одном из существующих .h файлов - тоже все нормально.

PS звездочки - собачки
 
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #9
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #10
Все - понял, просто нужно было после последней строки ентер сделать походу

Я ж писал - звездочки - собачки. Их форум заменяет
 
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #11
Я ж писал - звездочки - собачки. Их форум заменяет

собак в нормальном си нету, это какое-то расширение твоего компилятора, что оно значит и как может влиять подсказать не могу, т.к. с Objective C не сталкивался. Я бы старался писать код так чтобы было легче потом на чистый си перевести, тем более что, как подсказывает гугль, Objective C полностью с ним совместим
 
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #12
В общем спасибо всем за обратный слэш.
С ворнингами все решилось просто нажатием на энтер после последних кавычек .
 
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #13
собак в нормальном си нету, это какое-то расширение твоего компилятора, что оно значит и как может влиять подсказать не могу, т.к. с Objective C не сталкивался. Я бы старался писать код так чтобы было легче потом на чистый си перевести, тем более что, как подсказывает гугль, Objective C полностью с ним совместим

raw strings?
хм, тогда по идее у него ньюлайны не должны работать...
 
  • 🟡 14:04 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #14
raw strings?
хм, тогда по идее у него ньюлайны не должны работать...

это в C# так... :)

Бегло просмотрев что такое Objective C, я думаю собакой начинаются конструкции специфичные для Objective C, скорее всего строка начинающаяся с собаки в ObjectiveC - это не char*, а какойто специфичный для ObjectiveC тип, NString или что то типа того...
 
Назад
Зверху Знизу