1、问题
测试代码的时候,想能够向console中写一些值。对象和原始类型都能够用NSLog报告出来,但是它们都有着自己的字符串格式化器。
2、解决方案
将对象以及原始值替换进NSLog,就能够报告这些变量的值。
3、原理
NSLog(@"myCharacter = %c and myInteger = %i", myCharacter, myInteger);
Table 1-1. List of Specifiers Used with NSLog
Specifier Data Type
%@ Objective-C object (looks at description method)
%d, %D, %i Int (signed 32-bit integer)
%u, %U Unsigned int (unsigned 32-bit integer)
%f Double (64-bit floating point number)
%e Double (64-bit floating point number in scientific notation)
%c Unsigned char (unsigned 8-bit character)
%C Unichar (16-bit character)
%p Pointer (printed in hexadecimal)
%% Escape character so you can print the % sign
4、代码
#import <Foundation/Foundation.h>
int main(int argc, const char* argv[]) {
@autoreleasepool {
// To print out primitive types:
int myInteger = 1;
NSLog(@"myInteger = %i", myInteger); // Int (signed 32-bit integer)
float myFloatingPointNumber = 2;
// Double (64-bit floating point number)
NSLog(@"myFloatingPointNumber = %f", myFloatingPointNumber);
NSLog(@"myFloatingPointNumber in scientific notation = %e", myFloatingPointNumber);
char myCharacter = 'A';
NSLog(@"myCharacter = %c", myCharacter); // Unsigned char (unsigned 8-bit character)
// To print out the % symbol
NSLog(@"Percent Sign looks like %%");
// To print out Objective-C objects
NSString *myString = @"My String";
NSLog(@"myString = %@", myString);
NSLog(@"myString's pointer = %p", myString);
// To print out a series of values
NSLog(@"myCharacter = %c and myInteger = %i", myCharacter, myInteger);
}
return 0;
}
相关推荐
当数据需要通过console输出时,会调用相应的函数将数据写入输出缓冲区。 ```c void console_write(struct console *co, const char *s, unsigned long count) { // 省略其他代码 } ``` #### 4 通过console输出...
标题提及的是"log4j-1.2.14日志文件",这指的是Apache Log4j的1.2.14版本。Log4j是Java编程语言中广泛使用的开源日志记录框架,它允许开发者在应用程序中灵活地控制日志信息的输出。版本1.2.14是一个较旧但仍然被...
1.2 写入文件 写入文件使用`fs.writeFile()`或`fs.appendFile()`方法。例如: ```javascript fs.writeFile('./output.txt', 'Hello, World!', function(err) { if (err) throw err; console.log('文件已写入'); })...
console.log("文件写入失败!" + error); } else { console.log("文件写入成功!"); } }); ``` ##### 1.2 文件流操作 在Node.js中,文件流提供了一种更高效的方式来处理大文件或连续的数据流。 - **文件...
控制台Appender用于将日志输出到标准输出(通常是终端或命令行界面),而文件Appender则将日志信息写入到指定的文件中。 - **控制台Appender**: - 类型:`org.apache.log4j.ConsoleAppender` - 输出目标:`System...
1. **Logger**:这是日志信息的产生者,开发者可以通过Logger对象向日志系统发送信息。每个Logger可以有自己的名字,通过这个名字,我们可以设置其日志级别和指定其输出的目的地。 2. **Appender**:Appender负责将...
#### 1.2 读取目录 `fs.readdir()`用于异步读取目录内容,返回一个包含文件名的数组。同步版本是`fs.readdirSync()`。例如: ```javascript fs.readdir("test/", function(err, files) { if (err) { return ...
例如,你可以为调试信息设置一个ConsoleAppender,将警告及以上级别的信息写入文件,同时使用PatternLayout来定制日志格式。 以下是一个简单的log4j.properties配置示例: ``` # 设置全局日志级别为DEBUG log4j....
1.2 写入文件 Node.js通过writeFile方法来异步地将数据写入文件。该方法接受至少两个参数:文件路径和要写入的数据。如果文件已存在,writeFile会覆盖原有文件,如果不存在则创建新文件。writeFile的第三个参数是一...
- **自定义Appender**:除了预定义的ConsoleAppender和FileAppender,还可以创建自定义的输出端,如发送邮件、写入数据库等。 - **过滤器(Filter)**:允许基于特定条件过滤日志消息。 - **MDC(Mapped ...
- `WriteLine()` 方法向文件中写入一行文本。 ### 5. 数据库连接 C#可以方便地与各种数据库进行交互。 ```csharp using System.Data.SqlClient; string connectionString = "Data Source=myServerAddress;...
log4j 1.2.15是该系列的一个稳定版本,虽然现在已有更新的log4j 2.x版本,但1.2.x系列仍然被许多遗留系统所采用。 二、核心组件 1. **Logger**: log4j的核心类,负责接收日志信息并决定如何处理。Logger通过继承...
- 使用`document.write()`直接向页面输出内容。 ```javascript document.write("Hello World"); ``` - **4.3 alert函数** - 用于弹出提示框,是调试过程中的常用工具。 ```javascript alert("弹出窗口,调试...
另一个是File,将日志写入名为app.log的文件,并按日期滚动。 **三、使用Log4j** 在Java代码中,通过以下方式创建和使用logger: ```java import org.apache.log4j.Logger; public class MyClass { private ...
**1.2 变量和数据类型** 在编程中,变量用于存储数据。Visual Basic 支持多种数据类型,包括整型、浮点型、字符和字符串等。 ```vb Dim age As Integer Dim salary As Double Dim gender As Char Dim name As ...
管道是一种半双工的通信方式,数据只能单向流动,即一个进程向管道中写入数据,而另一个进程则从管道中读取数据。 **示例代码**: ```csharp using System; using System.Diagnostics; using System.IO.Pipes; ...
`Console` 类提供了与控制台应用程序交互的方法,主要用于读取和写入文本到控制台。 #### 5.2 常用方法 - **WriteLine()**:向控制台输出一行文本。 - **ReadLine()**:从控制台读取一行文本。 - **ReadKey()**:从...
在C#编程语言中,判断一个文件是否存在是一个常见的需求,特别是在进行文件操作之前,比如读取、写入或删除文件时。确保文件存在可以避免运行时异常,提高程序的健壮性和用户体验。本文将详细介绍如何使用C#来检查...