[英]Convert int to string and concatenate it in another string (C language)
我正在嘗試用 C 語言編寫代碼,以將以下一系列數字存儲在字符串“0.123456789101112131415 ...”中。
我試過這個代碼:
char num[2000], snum[20];;
num[0] = '0';
num[1] = '.';
for(int i = 1; i < 20; i++) {
sprintf(snum, "%i", i);
strcat(num, snum);
printf("%s\n", num);
}
我包括以下庫:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
當我打印變量“num”:“0”時,我得到了這個。 + 一些垃圾(有時我得到“0.N”,有時是“0.2”,有時是“0.R”,等等)。
我究竟做錯了什么?
正如大衛在評論中指出的那樣, strcat
要求兩個字符串最后都有一個\0
。
在您的情況下,由sprintf
生成的snum
具有\0
。 但是, num
沒有。
你可以做num[2] = '\0'
。 或者類似的東西
sprintf(num, "%i%c\0", 0, '.')
希望這能回答你的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.