Tag: 字符串

将数据存储在程序中而不是外部文件中

我有以下C代码的一部分,它使用来自文件名WMM.COF的数据,并使用存储在文件中的数据来计算地球的磁场。 该程序工作正常,但我不能让程序访问外部文件; 我想将所有数据都存储在程序中。 我尝试使用结构数组来复制数据,然后将数组放入一个字符串,但这会导致程序出错并且不会产生正确的结果。 这是我正在尝试修改的程序的代码。 static void E0000(int IENTRY, int *maxdeg, double alt, double glat, double glon, double time, double *dec, double *dip, double *ti, double *gv) { static int maxord,i,icomp,n,m,j,D1,D2,D3,D4; static double c[13][13],cd[13][13],tc[13][13],dp[13][13],snorm[169], sp[13],cp[13],fn[13],fm[13],pp[13],k[13][13],pi,dtr,a,b,re, a2,b2,c2,a4,b4,c4,epoch,gnm,hnm,dgnm,dhnm,flnmj,otime,oalt, olat,olon,dt,rlon,rlat,srlon,srlat,crlon,crlat,srlat2, crlat2,q,q1,q2,ct,st,r2,r,d,ca,sa,aor,ar,br,bt,bp,bpp, par,temp1,temp2,parp,bx,by,bz,bh; static char model[20], c_str[81], c_new[5]; static double *p = snorm; char answer; FILE *wmmdat; wmmdat = […]

如何从文件中获取替代行并将其作为字符串存储到结构中?

我有一个文件需要通过代码读取。 该文件如下所示。 文件的第一行包含一个整数,表示文件中的日记条目数。 我需要编写一个C程序来读取文件并将内容存储在动态分配的结构数组中。 4 12/04/2010 Interview went well I think, though was told to wear shoes. 18/04/2010 Doc advised me to concentrate on something… I forget. 03/05/2010 Was asked today if I was an art exhibit. 19/05/2010 Apparently mudcakes not made of mud, or angry wasps. 我能够strtok()将日期,月份和年份存储在我的结构中,但是我坚持将字符串保存到我的结构中。 这是我的strtok()代码, FILE* file=fopen(“struct.txt”,”r”); if (file==NULL){ perror(“Error opening […]

隐蔽压缩hex字符串(Base 64编码)

我有一个Base 64编码( http://www.adp-gmbh.ch/cpp/common/base64.html )字符串如下: KGVuYy12YWwgCiAoZWNkaCAKICAocyAjMDQwMTE3RkFBRDEwQzAwRDAxMENDOTA4NkUwRjVCMEMyN0YzQkM3REY4NENDNjMxQjM5MEFEODJEOERGOUZFNjYxOTU0NkY0NzgyREY1QkRBMjFEOTY3NTkxQzc1QTVDOTc1RUJFRDMyNUI4ODBCNzk0NDdFMTY2NUQ5Q0M0M0MxQSMpCiAgKGUgIzA0MzExNjUyNzE0QkFDRkQzOERFM0NFQTM4NDA4Q0ZBQkVFQTNGRjZGNjIwQkQyQzBBNzU1MTY0MjlBQzJERTRCOTI4OTFDOEZBQ0RDNDEyMjNGMTlGQjc2NjgzQzI4RDc5NkY5Njc4QTU4QzRDMzVDMkJDRUEyMEJEQzYzRURCQTkjKQogICkKICkKAA == 以下Bluez函数用于压缩此Base 64编码字符串以将其发送到BLE设备: size_t data_from_string(const char *str, uint8_t **data) { char tmp[3]; size_t size, i; info(“data_from_string”); size = strlen(str) / 2; *data = (uint8_t *)malloc(size); if (*data == NULL) return 0; tmp[2] = ‘\0’; for (i = 0; i < size; i++) { memcpy(tmp, str + (i * 2), 2); […]

c char 到jstring printf适用于int类型但不适用于字符串

我们有供应商提供的api,其结构定义为 typedef struct { char duo_word[8]; } duo_word; 他们向我们发送了这个结构中的数据,然后我们必须通过jni传递给我们的java应用程序。 printf(“Number: : %i\n”, duo_word_inst); 打印正确的int值,例如52932,但是 printf(“Number: : %s\n”, duo_word_inst); 没有打印。 更重要的是,如果我在我的java进程下面使用jni代码接收乱码。 jstring jstrBuf = (*env)->NewStringUTF(env, (char*)(duo_word_inst)); (*env)->SetObjectField(env, *ret_obj, fld_id, jstrBuf); 发送乱码给java例如ÄÎ // I have got some example data captured from VS debugger below. duo_word duo_word_inst = { .duo_word = { ‘º’, ‘\b’, ‘\x1’, ‘\0’, ‘À’, ‘\xe’, […]

无法理解如何从C中的函数返回字符串

void add() { char name[50], surname[50], usern[50]; int id, birth, amount; printf(“Enter your name, surname and your year of birth:\n”); scanf(“%s %s %d”, &name, &surname, &birth); printf(“Enter your ID, username and your total amount:\n”); scanf(“%d %s %d”, &id, &usern, &amount); const char *pass1=function(usern); } const char *function (char usern[50]) { char temp; int i=0; int […]

如何在C中向二维数组添加字符串

我开始学习C并且我遇到了将字符串输入添加到2D数组的问题,我能够正确地获取字符串输入但是当我尝试将字符串元素添加到数组时它不能按预期工作当打印数组时(这是我测试程序的方式),它会为数组中的每个索引分配一个字符而不是整个字符串。 这是我的观看代码,非常感谢您提前感谢任何发布的帮助。 #include main() { char c_array[3][3]; int x; int y; int z=10; int i_user_input; char c_name[256]; for(x=0;x<=+2;x++) { for(y=0;y<=2;y++) { printf("\nPlease enter a name to the system:"); scanf(" %s",&c_array[x][y]); printf("The string is %s\n",c_name); printf("Please press '1' if you would like to keep entering names\n"); printf("Please press '2' if you would like to print the […]

将单个字符串与C中的字符串数组进行比较

我的程序正在接受用户输入,然后输入输入的第一个单词并将其与接受的命令数组进行比较。 将输入的第一个单词(在被标记化之后)与字符串数组进行比较的最佳方法是什么? 例: 将字符串”pwd”与包含{“wait”, “pwd”, “cd”, “exit”}的数组进行比较 在此先感谢您的帮助!

C将char数组中的一个字符替换为另一个字符

我有以下C代码 #include int main(void){ char c[] = “ABC” printf(“%s “, c); c[1] = ‘B’; printf(“%s”, c); return 0; } 我想要的输出是ABC BBC但我得到的输出是ABC ABC 。 如何替换String / char数组中的第一个字符?

在C中逐个字符地比较两个字符串

我有一个“简单”(我希望)的问题。 我实际编码一些小程序,我需要比较两个字符串,相同的长度,但不同的字母,如 Eagle 和 Hdjoh 我想比较第一个字符串的第一个字母和第二个字符串的第一个字母,第一个字符串的第二个字母和第二个字符串的第二个字母等。 我开始这样做: for(i=0, i<N, i++){ for(j=0, j<N, j++){ if(string1[i]==string1[j] etc.. etc.. } } 我清楚地看到它没有比较第一个字母和第一个字母,第二个字母与第二个字母等。 所以也许有人知道我该怎么做? (不使用string.h的任何函数,我想“自己做”这个’)。 也许这是一个愚蠢的问题,但我仍然是C的新手所以…… 啊,最后一件事,我在我的例子中定义了5个字符的两个字符串,但它可能超过5对5 … 感谢提前的想法。 编辑1: #include #define N 20 int main() { unsigned char string1[N], string2[N]; int Answer=0, i=0; scanf(“%s”, string1); scanf(“%s”, string2); for(i=0; i<N; i++){ if(string1[i]==string2[i]){ Answer=1; } else{ Answer=0; } } printf("Answer […]

利用字符串指针打印字符 – 整数组合

我有C函数,它将字符串指针作为参数。 此函数返回为指针指向的符号。 我想根据要求生成=多个符号。 假设,我家里有四扇门。 我想给不同的门提供不同的名字,比如d1,d2,d3…. 在这种情况下,我想创建一个指向字符串和整数的字符串指针,这样我就可以得到只有数值不同的符号。 这有助于我对看到字符串值的符号进行分类。 我想知道如何声明一个字符串指针,以便我可以创建一个我上面提到的符号。 [编辑] 我会尽力说清楚。 我有两个指针的数组 const char *test[] ={“a”,”12345″} 我想把指针指向a和1以及a和2 ……等等。 有没有办法做到这一点?