警告:未知转义序列:'\040' [默认启用]

2023-11-22

我正在用 C 语言编写一个简单的应用程序,我想在 BSD 许可证下发布它。应用程序的一部分负责向用户打印有关程序的信息。但是,我在打印许可证文本时遇到问题。这是例子:

#include <stdio.h>
#include <stdlib.h>

void show_license(void)
{
    const char *license = "\n\
 Copyright (c) 2012 \n\
 All rights reserved.\n\
 \"Redistribution and use in source and binary forms, with or without\n\
 modification, are permitted provided that the following conditions are\n\
 met:\n\
\n\
   * Redistributions of source code must retain the above copyright\n\
     notice, this list of conditions and the following disclaimer.\n\
   * Redistributions in binary form must reproduce the above copyright\n\
     notice, this list of conditions and the following disclaimer in\n\
     the documentation and/or other materials provided with the\n\
     distribution.\n\
   * Neither the name of XXX and its Subsidiary(-ies) nor the names\n\
     of its contributors may be used to endorse or promote products derived\n\
     from this software without specific prior written permission.\n\
\n\
\n\
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\
 \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\
 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n\
 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n\
 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n\
 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n\
 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n\
 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n\
 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n\
 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\"\n\
\n\
\n\ \n";

    fputs("\n", stderr);
    fputs(license, stderr);
    fputs("\n", stderr);
}


int main()
{
    show_license();
    return 0;
}

我使用编译我的应用程序gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.11在 Kubuntu 13.10 上。我收到此警告消息:

warning: unknown escape sequence: '\040' [enabled by default]
     const char *license = "\n\
                           ^

我怎样才能摆脱它?我向自己保证要编写没有任何警告和错误的代码。这是一个普通的 C 应用程序。

EDIT:

谢谢大家,这是正常工作、无警告的代码:

#include <stdio.h>
#include <stdlib.h>

void show_license(void)
{
    const char *license = "\n \
 Copyright (c) 2012 \n\
 All rights reserved.\n\
 \"Redistribution and use in source and binary forms, with or without\n\
 modification, are permitted provided that the following conditions are\n\
 met:\n\
\n\
   * Redistributions of source code must retain the above copyright\n\
     notice, this list of conditions and the following disclaimer.\n\
   * Redistributions in binary form must reproduce the above copyright\n\
     notice, this list of conditions and the following disclaimer in\n\
     the documentation and/or other materials provided with the\n\
     distribution.\n\
   * Neither the name of XXX and its Subsidiary(-ies) nor the names\n\
     of its contributors may be used to endorse or promote products derived\n\
     from this software without specific prior written permission.\n\
\n\n\
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\
 \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\
 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n\
 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n\
 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n\
 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n\
 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n\
 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n\
 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n\
 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\"\n\
\n\n\n";

    fputs("\n", stderr);
    fputs(license, stderr);
    fputs("\n", stderr);
}


int main()
{
    show_license();
    return 0;
}

在您的代码中,您有这一行(协议文本的最后一行),这就是导致错误的原因:

“\n\\n”;

反斜杠空格不是有效的转义序列。消息“040”是八进制的空格字符,由前导 0 表示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

警告:未知转义序列:'\040' [默认启用] 的相关文章

随机推荐

  • 何时调用 NSURLConnection 委托的release?

    当将委托传递给 a 时NSUrlConnection像这样的对象 NSURLConnection alloc initWithRequest request delegate handler 什么时候应该调用代表的release 应该是在c
  • Oracle执行计划中的访问和过滤谓词

    Oracle执行计划中的Access谓词和Filter谓词有什么区别 如果我理解正确的话 访问 用于确定需要读取哪些数据块 而 过滤 则在读取块后应用 因此 过滤是 邪恶的 在下面执行计划的谓词信息部分的示例中 10 access DOMA
  • '-[__NSDictionaryI length]: 无法识别的选择器发送到实例' - 试图找出原因

    I ve a UITableView与定制UILabel标题和副标题 以使文本右对齐 我的数据来自网络服务 我解析并存储在其中NSArray of NSDictionary 某些标题或副标题可以是 nil 空文本 为此 我将其放入 try
  • 将自定义功能区组添加到 Word 2007 中的现有自定义功能区组

    如何将新组添加到现有 第 3 方 自定义功能区选项卡加载项 我知道我可以通过指定选项卡 idMSo 值来添加到现成的功能区 但如何为自定义功能区选项卡执行此操作 我已经尝试过自定义功能区的 ID 值 但它只是重复功能区 还尝试过传递所需的自
  • 有没有办法检查状态栏的可见性?

    我有一项服务 当某些顶级活动处于 或不 处于全屏模式时 应该定期检查状态栏的可见性 是否可以 最后我发现了如何检查状态栏是否可见 它是某种黑客 但它对我有用 我在我的服务中创建了该方法 private void createHelperWn
  • GetRoomLists 成功但没有返回任何数据

    我正在使用 Exchange Web 服务调用 GetRoomLists 我们正在运行 Exchange 2010 以下代码是通过控制台应用程序执行的 根据 XML 响应 无错误 调用成功 但没有返回任何数据 当您尝试通过 Outlook
  • 在 iOS 设备上本地保存游戏分数...需要安全性吗?

    我是否需要用哈希值存储分数 即保护它不被用户编辑 欺骗 根据我的新手知识 用户无法查看和操作本地存储的数据 例如 plist 文件 谁能详细说明一下吗 编辑 我在本地存储分数并定期将其上传到游戏中心排行榜 即使设备已越狱 我也希望具有安全性
  • 在javascript中为什么使用“var that = this”[重复]

    这个问题在这里已经有答案了 嗨 我是 JavaScript 新手 使用这条线有什么好处 var that this 一个例子 function Person firstname lastname age this firstname fir
  • Mocha 如何知道done 已被指定?

    如果我使用 Mocha 编写异步测试 我需要做的就是在测试函数上指定 did 参数 test foo function done 我的问题是 Mocha 如何知道是否已完成 测试函数的定义应该是这样的 function test title
  • InvalidCastException 尝试从装箱 int 转换为可为 null 的枚举

    我有一个枚举 Foo public enum Foo Alpha Bravo Charlie 如果我尝试从盒装中进行以下转换int to a Foo 我得到一个InvalidCastException var x Foo object 1
  • 性能 iText 与 PdfBox (2014)

    我正在尝试将 pdf 我最喜欢的书 Effective Java 如果重要的话 转换为文本 我检查了 iText 和 Apache PdfBox 我发现性能有很大差异 使用 iText 需要 2 分 521 秒 使用 PdfBox 需要 6
  • 谜题:在一次解析中对一组 0 和 1 进行排序。

    是否可以在一次解析中按降序排列仅由 1 和 0 组成的数组而不使用辅助数组 例如 假设你有一个数组a 1 0 0 0 1 0 1 为此 预期输出将是a 1 1 1 0 0 0 0 我写了下面的 C 代码 但它在两次解析中找到了解决方案 可以
  • C++ 64位int:按引用传递或按值传递

    这是一个关于 64 位整数的效率问题 假设我不需要修改 int 参数的值 我应该通过值还是引用传递它 假设32位机器 1 32位整数 Iguess答案是 按值传递 因为 按引用传递 将产生额外的内存查找开销 2 64位int 如果我通过引用
  • 在R中的字符串中的两个字母之间添加空格[重复]

    这个问题在这里已经有答案了 假设我有一个像这样的字符串 s PleaseAddSpacesBetweenTheseWords 如何在 R 中使用 gsub 在单词之间添加空格 以便我得到 Please Add Spaces Between
  • Android AdRequest 仅返回 onAdFailedToLoad AdRequest.ERROR_CODE_NO_FILL

    我的应用程序已经在 Google Play 商店上架一个月了 一切正常 两天前 我将其添加到 专为家庭设计 类别中 我收到了 Google 团队的接受和祝贺 从那时起 我的插页式广告就不再显示了 我收到AdRequest ERROR COD
  • 更改“选择”突出显示颜色[重复]

    这个问题在这里已经有答案了 我有一个自定义的下拉菜单框 见图 我想更改选项上的突出显示颜色以摆脱可怕的蓝色并将其更改为我选择的颜色 我还想停止周围的蓝色突出显示框整个事情并从选项框中删除边框 我该如何删除其中的任何一个或全部 Thanks
  • 如何使用 Swift 以编程方式更改语言环境

    我正在通过 Swift 在 XCODE 6 3 上制作 ios 应用程序 我的应用程序将具有选择语言功能 如下图所示 我已经有了本地语言的故事板 但我不知道如何通过按钮以编程方式更改应用程序的本地化 任何人都知道该怎么做 下面是使用 Swi
  • RDF图蕴涵

    我刚刚读到了 RDF 资源描述框架 的蕴涵概念 任何人都可以告诉我两个 RDF 图的蕴涵示例并对其进行一些解释 Thanks 假设您有以下内容 ex book1 rdf type ex Publication ex book2 rdf ty
  • 如何查找分组的 SQL 中位数

    我正在使用 SQL Server 2008 如果我有一个这样的表 Code Value 4 240 4 299 4 210 2 NULL 2 3 6 30 6 80 6 10 4 240 2 30 请问如何通过代码列找到中位数 AND 组
  • 警告:未知转义序列:'\040' [默认启用]

    我正在用 C 语言编写一个简单的应用程序 我想在 BSD 许可证下发布它 应用程序的一部分负责向用户打印有关程序的信息 但是 我在打印许可证文本时遇到问题 这是例子 include