在C++中,setw函數用於設置要用作下一個插入操作的字段寬度的字符數。 C中有沒有任何函數,我的意思是,在標準C庫中,它有相同的功能嗎?「setw」函數的C等效
回答
printf ("%5d", 42);
將使用5位打印42。閱讀printf的手冊頁以瞭解字符填充,溢出和其他細微差別如何工作。
編輯: 一些例子 -
int x = 4000;
printf ("1234567890\n");
printf ("%05d\n", x);
printf ("%d\n", x);
printf ("%5d\n", x);
printf ("%2d\n", x);
給人的輸出
1234567890
04000
4000
4000
4000
注意,%2d
是太小,無法處理傳遞給它的數量,但仍然打印的全部價值。
請注意,在填充數字前面放置一個'-'將導致輸出對齊到左邊。例如,'printf(「% - 7s,」12345「);'會打印'12345__',其中'_'是一個空格,這與'printf(」%7s,「12345」)相反。給你'__12345'。 [相關的答案](http://stackoverflow.com/a/276869/1214700) – mb595x 2015-03-07 19:11:00
不,因爲C中使用的流不像流對象那樣維護狀態。
您需要使用例如printf()
使用合適的格式代碼。
你能指定我該怎麼做?我需要'setw(2)'的等效格式...... ...... – 2010-07-06 14:35:00
另一種選擇是定義格式字符串作爲變量:
char print_format[] = "%5d"; printf(print_format, 42);
以上是類似於C++ setw
,在可以在打印之前設置變量的內容。許多場合需要動態格式化輸出。這是實現它的一種方法。
setw機械手: 該操縱器設置輸出的最小區域寬度。其語法如下: setw(x) 這裏setw會導致它後面的數字或字符串被打印在x個字符寬的字段中,x是在setw操縱器中設置的參數。必須同時使用運輸及工務局局長操縱包含頭文件是 示例代碼
#include <iostream>
using namespace std;
#include <iomanip>
void main()
{
int x1=12345,x2= 23456, x3=7892;
cout << setw(8) << "Exforsys" << setw(20) << "Values" << endl
<< setw(8) << "E1234567" << setw(20)<< x1 << endl
<< setw(8) << "S1234567" << setw(20)<< x2 << endl
<< setw(8) << "A1234567" << setw(20)<< x3 << endl;
}
這不是c equivilent – 2013-04-25 17:04:16
這不是一個有效的答案。不是c等價物。 – NicoBerrogorry 2017-10-21 07:08:41
- 1. (Qt C++)setw/setfill等效嗎?
- 2. Objective-C的等效函數()
- 3. C++ stod函數等效
- 4. Java中的Objective-C powf()等效函數
- 5. 等效的Oracle DECODE函數在C#
- 6. 在C++中等效的Matlab repmat函數
- 7. 在C#中的Int等效函數#
- 8. C++ setw()for Java
- 9. C++中Swift尾隨等效函數
- 10. 格式化C++ setw
- 11. Delphi函數和C++中的等效函數
- 12. 是否存在與C++ std :: setw(int)函數相當的Ruby?
- 13. Right()函數的等效
- 14. Mono.cecil中的等效函數
- 15. URL的等效is_file()函數?
- 16. file_get_contents()的等效函數?
- 17. IdnMapping :: GetAscii C#Methode是否有任何等效的C/C函數?
- 18. C + + getInt()函數(附加一個Java等效函數)
- 19. nlinfit MATLAB函數等效函數c代碼
- 20. C#函數使用擴展函數,但VB等效不?
- 21. Python Win32 - 等效函數DriveInfo.IsReady
- 22. MFC等效函數SetModifiedFlag
- 23. windows cmd函數等效
- 24. 格式輸出C++與setw
- 25. setfill()和setw()Java是否等價?
- 26. C++中等效數據類型的C#
- 27. 等價的C#函數Excels Norm.S.Inv函數
- 28. Java的PHP的crypt函數的等效
- 29. Stata的R的「%in%」的等效函數
- 30. jQuery等效的C#
這可能是我第一次看到別人誰知道如何使用的iostream格式化,而不是如何做等價的東西用'的printf '......這幾乎總是相反的。 :) – 2010-07-06 17:01:22
是的,我總是遇到同樣的事情。我在大學學習了C++風格的iostream格式器,但我們在工作中使用c風格。 – 2013-04-25 17:03:09