Tag: 打印

使用“光栅模式”直接打印到以太网打印机:需要基本指导

我偶然发现了一个超出我的专业领域的问题,而且我没有导师可以求助于此。 我有一个收据打印机,我需要通过iOS应用程序进行交互。 打印机与设备位于同一网络上,因此我可以通过支持的“线路模式命令”来解决它 我想做的是保持我已经跨平台工作的代码 – 即它是一个UIView / NSView,如果你不熟悉OS X / iOS,它只是一个标准的vanilla视图,我可以渲染成PDF / PNG格式。 值得庆幸的是,打印机具有“光栅图形”模式,这似乎是我需要的。 不幸的是,无论是命令规范的破坏英语,还是我对基本C以外的任何东西的完全缺乏了解,或者我完全缺乏关于图形的知识,我都不知道如何从我拥有的命令规范开始。 我知道打印机和我的网络工作,因为我可以通过网络解决它并发送基本的feed命令。 但是,我不知道如何从PNG开始 – >无论打印机需要什么使它成为’光栅模式’的工作。 该规范可在http://www.star-m.jp/eng/service/usermanual/linemode_cm_en.pdf上找到 ,如果你想提供帮助,你想要开始阅读它的页面是3-68,具体命令即使开始使用也遇到麻烦的是3-78 / 3-79。 我只能给你一个勾选标记,但我向你保证,如果你能为我提供正确方向的一点,你将会感激不尽。

当我尝试打印电源function的结果时,我总是得到0

我是C的初学者,当我尝试写一些像这样的代码时: printf(“\n Answer : %d \n”, 12* pow(2,1)); 我总是得到答案:0但是当我写成这样的浮点数时: printf(“\n Answer : %f \n”, 12* pow(2,1)); 我明白了:答案:24.0000 有谁知道为什么会这样? 我的意思是为什么0十进制打印? 非常感谢。

C程序打印奇怪的字符

我有一个程序,它读取文件的内容并将其保存到buf 。 在阅读内容后,它应该将两个字符复制到一个数组。 如果我没有尝试从文件中读取,但是如果我尝试从文件中读取它,则缓冲区中的printf打印出我想要的两个字符,但添加了奇怪的字符,这段代码工作正常。 我已经确认并正确保存到buf中,没有奇怪的字符。 我无法弄清楚出了什么问题……这是代码: char *buffer = (char*)malloc(2*sizeof(char)); char *dst = buffer; char *src = buf; char *end = buf + strlen(buf); char *baby = ‘\0’; while (src<= end) { strncpy(dst, src, 2); src+= 2; printf("%s\n", buffer); }

在C中打印结构

我正在尝试打印一个在函数中作为参数出现的struct ,以便进行一些调试。 无论如何我可以在不知道它看起来的情况下打印结构的内容,即不显式打印每个字段? 你看,根据不同#define的负载,结构可能看起来非常不同,即可能有或没有不同的字段,所以我想找一个简单的方法来做一些像print_structure(my_structure) 。 NetBeans的调试器可以为我做到这一点,但不幸的是代码在我无法运行调试器的设备上运行。 有任何想法吗? 我想这是不可能的,但至少在编译时可能会有一些宏来做这件事吗? 谢谢!

C printf使用%d和%f

我正在研究这个程序,我注意到使用%f表示double,%d表示float,这给了我一些完全不同的东西。 谁知道为什么会这样? int main () { float a = 1F; double b = 1; printf(“float =%d\ndouble= %f”, a, b); } 这是输出 float = -1610612736 double = 190359837192766135921612671364749893774625551025007120912096639276776057269784974988808792093423962875123204096.0000

如何将输入文本光标定位在C?

在这里,我有一个非常简单的程序: printf(“Enter your number in the box below\n”); scanf(“%d”,&number); 现在,我希望输出看起来像这样: Enter your number in the box below +—————–+ | |*| | +—————–+ 哪里,| * | 是用户键入其值的闪烁光标。 由于C是一个线性代码,它不会打印盒子艺术,然后要求输出,它将打印顶行和左列,然后输入后打印底行和右列。 所以,我的问题是,我可以先打印盒子,然后有一个function将光标放回盒子里吗?

为什么printf打印错误的值?

当我使用printf(“%f\n”, myNumber)打印int时,为什么会得到错误的值? 我不明白为什么它用%d打印好,但不用%f打印。 它不应该只是添加额外的零? int a = 1; int b = 10; int c = 100; int d = 1000; int e = 10000; printf(“%d %d %d %d %d\n”, a, b, c, d, e); //prints fine printf(“%f %f %f %f %f\n”, a, b, c, d, e); //prints weird stuff