因为我对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
这是一个错字,纠正了问题 –