因爲我對C編程非常陌生,所以我可能有一個非常簡單的問題。C:創建字符串中存在的字符和字符
我有一個結構看起來像這樣
typedef struct Vector{
int a;
int b;
int c;
}Vector;
現在我想寫向量的文件的數組。爲了實現這一目標,我想創建這樣的方法方案
String createVectorString(Vector vec){
// (1)
}
String createVectorArrayString(Vector arr[]){
int i;
String arrayString;
for(i=0; i<sizeof(arr); i++){
//append createVectorString(arr[i]) to arrayString (2)
}
}
void writeInFile(Vector arr[]){
FILE *file;
file = fopen("sorted_vectors.txt", "a+");
fprintf(file, "%s", createVectorArrayString(arr);
fclose(file);
}
int main(void){
// create here my array of Vectors (this has already been made and is not part of the question)
// then call writeInFile
return 0;
}
我的主要問題是在(1),其中涉及還(2)(因爲我不知道如何用繩子在C工作,日食說「類型」字符串「未知」,雖然我包括<string.h>
)
所以我在某些時候讀到的一點是,可以用itoa()方法將int轉換爲字符串。 正如我的理解是,我可以簡單地做以下
char buf[33];
int a = 5;
itoa(a, buf, 10)
但是,我不能把那個工作,更何況,我無法弄清楚如何「粘貼」 char
S或int
s轉換爲字符串。
在我的觀點(1),我想創建表單(a,b,c)
,其中爲a,b和c是我的結構向量的「場」的字符串。
在點(2),我想創建表單(a1,b1,c1)\n(a2,b2,c2)\n...(an,bn,cn)
,其中n是向量的陣列中的量的一個字符串。
是否有快速解決方案?我是否將Java的Strings概念與C的概念混爲一談?
如果您包含''(小寫's'),它提供了一些用於處理C字符串的函數,它們是以0結尾的char字符串。在標準C中沒有'String'(或'string')類型。如果'String.h'是你的項目中定義'String'類型的頭文件,那麼我們需要了解這個錯誤。 –
你誤會了sizeof。 'sizeof arr'不會達到你所期望的。 – wildplasser
這是一個錯字,糾正了問題 –