簡體   English   中英

strcat() int 變量 + C

[英]strcat() int variable + C

我需要在這個表格上打印一些東西:

 [1] "text" [2] "text" [3] "text"

我正在使用strcat() ,所以我想將“文本”連接到緩沖區。
我在緩沖區中一次獲取一個元素的“文本”,我需要將它連接到一個字符串。

問題是我似乎無法弄清楚如何獲得前面的 [number] 部分。

首先,是否可以strcat()一個int
我試過了,但似乎無法讓它工作。

其次,是否可以在變量周圍獲取'[' ']' (我需要為每個循環增加int值)。
這可能是一個愚蠢的問題,但我真的不知道如何解決這個問題,我需要菜單在這個表單或類似的東西上。

首先,嘗試sprintf將您的整數放入緩沖區字符串中。 然后,將此字符串與您想要的字符串連接起來。

像這樣的東西:

char string[STRING_SIZE] = "text "
char buffer[BUFFER_SIZE];
sprintf(buffer, "%d", number);
strcat(string, buffer)

根據您的情況調整大小。

您可以使用計數器來了解每個文本字符串的編號:

char    buffer[BUFFER_SIZE];
int     counter = 1;

while (/* condition for continuing reading buffer */) {
    buffer = //readBuffer();
    printf("[%d] %s ", counter, buffer);
    counter++;
}
printf("\n");

首先,是否可以將 strcat() 設為 int?

不,您必須將 int 轉換為 char *。 查看以下實現: http : //www.opensource.apple.com/source/groff/groff-10/groff/libgroff/itoa.c

其次,是否可以在變量周圍獲取 '[' ']' ?

只需使用 strcat 添加此

strcat( buffer, text1 );
strcat( buffer, "[" )
// ... 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM