В Java 5, с модульным тестом:
import junit.framework.Assert;
import org.junit.Test;
public class StringUtil
{
public static String join(String delim, String... strings)
{
StringBuilder builder = new StringBuilder();
if (strings != null)
{
for (String str : strings)
{
if (builder.length() > 0)
{
builder.append(delim);
}
builder.append(str);
}
}
return builder.toString();
}
@Test
public void joinTest()
{
Assert.assertEquals("", StringUtil.join(", ", null));
Assert.assertEquals("", StringUtil.join(", ", ""));
Assert.assertEquals("", StringUtil.join(", ", new String[0]));
Assert.assertEquals("test", StringUtil.join(", ", "test"));
Assert.assertEquals("foo, bar", StringUtil.join(", ", "foo", "bar"));
Assert.assertEquals("foo, bar, baz", StringUtil.join(", ", "foo", "bar", "baz"));
}
}
Взгляните на это. Мне никогда особо не нравился дизайн Wt. Но тогда я вроде как противник фреймворка.
Для начала. Я уверен, что их гораздо больше - здоровый поиск в Google, вероятно, не повредит. Кроме того, вы можете попробовать канал # C ++ на freenode - у них есть оффтопный канал, о котором вы можете спросить, если хотите поговорить о C ++, отличном от STL, и люди там с радостью ответят на ваши вопросы, я уверен. Удачи.
Вы можете проверить klone:
http://koanlogic.com/klone/index.html
По сути, это фреймворк И сервер, который делает написание веб-приложений на C ++ легко ...
CGI-программы чертовски легко писать как на C, так и на C ++ - вам действительно не нужна какая-либо специальная библиотека, хотя ее наличие, очевидно, сделает разработку немного быстрее. Вы действительно понимаете, как работает CGI? По сути, ваша программа считывает переменные среды с помощью getenv (), выполняет некоторую обработку, а затем записывает некоторый HTML-код в стандартный вывод программы.
Лучшим набором веб-инструментов для C / C ++ будет Apache httpd. Просто напишите модуль, и вы сможете использовать libct для доступа к своей базе данных.
Существуют модули MVC, такие как mod_spin , но у меня нет опыта работы с ними.
C ++ не очень популярный выбор для веб-приложения - вероятно, потому что это слишком просто чтобы оставить дыры в безопасности, и время разработки, как правило, намного медленнее, чем для языки сценариев. Я бы сказал, что 99% веб-приложений не нуждаются в скорости, которая С ++ приносит.
Так что это приводит к нехватке хороших фреймворков.
Судя по моему довольно легкому взгляду на эту область, я бы сказал, что Wt, вероятно, ваш лучший выбор, хотя это скорее библиотека полезных вещей (например, шаблоны страниц), чем фреймворк.
Я бы серьезно подумал не делать этого в C ++. Даже в Java (я предпочитаю C ++) есть гораздо более сильная поддержка веб-разработки.
Я лично выбрал Ruby on Rails для веб-разработки, но если вам нужно выбирать между C, C ++ или Java для веб-разработки, я предлагаю использовать Java с JavaServer Faces