XCode字体大小设置,行缓冲问题

俗话说:工欲善其事必先利其器。抛弃了VS,投入XCode的怀抱。先不说两者的差距,还是先熟悉开发工具是关键。下面列出个人使用中遇到的一些问题。

Problem1:修改Xcode字体颜色以及调整字体大小。

具体过程如下所示:

1. 点击Xcode--->Preference

XCode 遇到的问题_缓存

 

2. 查看Fonts & Colors,根据个人喜好选择颜色搭配。

XCode 遇到的问题_解决方法_02

 

3. 选择主题为Civic

XCode 遇到的问题_解决方法_03

 

4. 点击Source Editor下面的某个如Plain Text或者Comments,之后按下Command+A,选择全部

XCode 遇到的问题_xcode_04

 

5. 看到小小的T了吗?点击这个T

XCode 遇到的问题_标准输出_05

 

6. 看到最右侧的Size,可以选择大小也可以通过拖动进行字体大小设置

XCode 遇到的问题_xcode_06

 

看一下效果吧

XCode 遇到的问题_标准输出_07

 

 

 

Problem2:使用printf 和cout时遇到的问题

1. 写个Hello world吧

XCode 遇到的问题_数据_08

2. 感觉挺好的呢,可是在XCode点击运行后,好像没有输出效果哎。原来是输出之后,Console直接关闭了,因此可以加上一句cin.get().加上之后再次运行。额,控制台怎么还是什么都没有呢?

XCode 遇到的问题_数据_09

 

 

3. 经过一番查找,在printf后加上"\n"之后就可以输出来了。

XCode 遇到的问题_缓存_10

 

Problem3 为什么需要添加\n才能输出结果呢?

原因是输出缓冲区的问题.

unix上标准输入输出都是带有缓存的,一般是行缓存。

对于标准输出,需要输出的数据并不是直接输出到终端上,而是首先缓存到某个地方,当遇到行刷新标志或者该缓存已满的情况下,才会把缓存的数据显示到终端设备上。

解决方法1:在printf里加"\n"

解决方法2:fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上 。

fflush(stdout); //刷新一下缓冲区 让它马上输出.  在printf 之后调用它,就会马上输出了.  

解决方法3:setvbuf(stdout,NULL,_IONBF,0); //如果你嫌上个方法麻烦, 就使用这个函数. 直接将缓冲区禁止了. 它就直接输出了。操作系统为减少 IO操作 所以设置了缓冲区.  等缓冲区满了再去操作IO. 这样是为了提高效率。

 

作者: 伊甸一点

本文版权归作者伊甸一点和博客园所有,欢迎转载和商用(须保留此段声明),且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.