小编典典

如何在 C / Objective-C 中将字符串文字拆分为多行?

all

我有一个很长的 sqlite 查询:

const char *sql_query = "SELECT statuses.word_id FROM lang1_words, statuses WHERE statuses.word_id = lang1_words.word_id ORDER BY lang1_words.word ASC";

如何将它分成多行以使其更易于阅读?如果我执行以下操作:

const char *sql_query = "SELECT word_id
                        FROM table1, table2
                        WHERE table2.word_id = table1.word_id
                        ORDER BY table1.word ASC";

我收到一个错误。

有没有办法在多行中编写查询?


阅读 103

收藏
2022-04-01

共1个答案

小编典典

有两种方法可以将字符串拆分为多行:

  1. 每个字符串在其自己的行上。仅适用于字符串:

    • 普通C:

          char *my_string = "Line 1 "
                    "Line 2";
      
    • 目标-C:

          NSString *my_string = @"Line1 "
                         "Line2";    // the second @ is optional
      
  2. 使用\- 可用于任何表达式:

    • 普通C:

          char *my_string = "Line 1 \
                     Line 2";
      
    • 目标-C:

          NSString *my_string = @"Line1 \
                          Line2";
      

第一种方法更好,因为没有很多空格。然而,对于 SQL 查询,两者都是可能的。

注意:使用 a #define,您必须添加一个额外的\来连接两个字符串:

普通C:

#define kMyString "Line 1"\
                  "Line 2"
2022-04-01