标签: printf

输入一些文本并按"回车"键(EOF)后,为什么printf语句不执行?

该代码源自"The C Programming Language,Second Edition":

#include <stdio.h>

main()
{
  long nc;

  nc = 0;
  while(getchar() != EOF)
    ++nc;
  printf("%s: %ld\n", "number of characters", nc); 
}
Run Code Online (Sandbox Code Playgroud)

按"输入"键(EOF)后为什么不执行"printf"语句?

c printf eof

2
推荐指数
1
解决办法
442
查看次数

如果没有C++中的换行符,则不会打印字符串

我正在打开一个文件,并从中获取行.第一行应该说明有多少变量,以及它们的名称是什么.第二行应该是使用这些变量的逻辑方程.赋值是打印出变量和方程的真值表.

程序进入的第一行不是在没有插入新行字符的情况下打印.我尝试转换为字符串并使用printf和cout.

输入所有内容的主文件:

#include "truthTable2.h"

int main(int argc, const char* argv[]){
  ifstream inFile;
  if(argc != 2){
    cout << "Enter an input file name: ";
    char *inFileName = "";
    cin >> inFileName;
    inFile.open(inFileName);
  }
  else
    inFile.open(argv[1]);
  TruthTable tTable;
  while(!inFile.eof()){
    char variableLine[256];
    inFile.getline(variableLine, 256);
    printf("%s ", variableLine);
    string variable(variableLine);
    tTable.setVariables(variable);
    char formulaLine[256];
    inFile.getline(formulaLine, 256);
    cout << formulaLine << "\n";
    string formula(formulaLine);
    tTable.setFormula(formula);
    tTable.printTable();
  }
  inFile.close();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

样本输入:

2 x y
( \wedge x ( \not y ) )
Run Code Online (Sandbox Code Playgroud)

输出来自:

 ( …
Run Code Online (Sandbox Code Playgroud)

c++ printf cout char ifstream

2
推荐指数
1
解决办法
4532
查看次数

一个Abstrusing printf()表达式

在阅读一些随机代码时,我碰巧遇到了printf()一个对我来说有点奇怪的表达式,声明是这样的

void PrintDiceFace(int n){
    printf("%d 0 %d\n%d %d %3$d\n%2$d 0 %1$d\n\n",n>50,51%n%2,n>53,n%2);
}
Run Code Online (Sandbox Code Playgroud)

这实际上是模糊的片段版本,它实际上打印了电子骰子的面部.对于例子.

请printf()详细解释这个陈述.

http://en.wikipedia.org/wiki/Dice

c printf

2
推荐指数
1
解决办法
279
查看次数

在gcc中如何填充前导0的数字字符串?

我有以下代码

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

char UPC[]="123456789ABC";

main()
{
  int rc=0;

  printf("%016s\n",UPC);

  exit(rc);
}
Run Code Online (Sandbox Code Playgroud)

在使用xlC编译器的AIX上,此代码打印出前导0

0000123456789ABC
Run Code Online (Sandbox Code Playgroud)

在Sles 11上,它使用gcc版本4.3.2打印前导空格[gcc-4_3-branch revision 141291]

123456789ABC
Run Code Online (Sandbox Code Playgroud)

是否有一些格式说明符,我可以使用字符串打印出前导0?我知道它适用于数字类型.

c printf padding

2
推荐指数
1
解决办法
2588
查看次数

fprintf的成本

我正在用C++开发一个嵌入式应用程序,用于具有有限代码/数据RAM的平台,但是对于文件系统的使用而言是无限的RAM.

在寻找减少代码大小的同时,我意识到排除fprintf()行对生成代码的大小贡献很大.

我的问题是:1.为什么fprintf的成本如此之高?2.如果我排除了fprintf功能,那么生成描述通过应用程序运行的出现的日志文件的替代方法是什么?

c c++ embedded printf

2
推荐指数
2
解决办法
1239
查看次数

预测sprintf()'ed line的len?

我可以用某个函数来预测sprintf()需要的空间吗?IOW,我可以调用一个函数size_t predict_space("%s \n",some_string)来返回由sprintf("%s \n",some_string)产生的C字符串的长度吗?

c printf string-length

2
推荐指数
2
解决办法
2538
查看次数

使用C中的snprintf将所有argv值连接到一个字符串

如何使用snprintf将argv中的所有值连接到一个字符串?

如果我传递的价值,如 ./prog val1 val2 val3 val4

我的字符串 char all_values[MAX_LEN]应该是" val1 val2 val3 val4"

我怎样才能有效地使用snprintf()?

c printf concatenation command-line-arguments

2
推荐指数
1
解决办法
3706
查看次数

2
推荐指数
1
解决办法
816
查看次数

如何只显示多个小数位的Float64类型

我有一个变量,Float64分钟; 我想只显示小数点后1位.现在,如果我使用%f,我会获得6个名额.我怎么才能获得最多1个地方?

c printf numbers decimal

2
推荐指数
1
解决办法
2201
查看次数

如何在一个从s函数调用的单独c文件中使printf工作?

我在文件mySFun.c中有一个s函数,它调用一个函数foo(),该函数在一个单独的文件myFoo.c中实现.当我在mySFun.c中的mdlOutput函数中编写printf语句时,它们工作正常.但是当我将printf放在myFoo.c中的函数foo()中时,它们不会在命令窗口中显示它们的输出.

当printf位于从s函数调用的另一个文件中时,如何启用printf功能?

matlab printf simulink mex

2
推荐指数
1
解决办法
3269
查看次数