c - 在C中解析 "String"(字符数组)为字符串,int和int

标签 c arrays string parsing

我设置了一个UDP套接字服务器和客户端,客户端向服务器请求一些信息,以保存[ID,“”,选择,“”,请求]的字符数组形式发送请求分别是 string、int 和 int。我需要能够从数组中解析这三个参数以访问我的数据库以发回正确的信息。到目前为止,我已经尝试使用 while 循环来解析这些内容,但不幸的是这不起作用。对更好的解决方案有什么建议吗?第一个 int 的长度为一位数,第二个 int 的长度可以任意长。

char *idToCheck;
int k = 0;
while(strcmp(messBuffer[k]," ") == 1){
    idToCheck += messBuffer[k];
}
int choice = messBuffer[k++];
int request;
while(strcmp(messBuffer[k],"\0") == 1){
     ????
}

最佳答案

一些事情:

  • 您需要让 idToCheck 指向或定义为拥有一些存储空间。
  • 不要使用 strcmp 来比较字符 - 只需使用 ==

从这里开始怎么样 - 假设 Id 不会长于 MAX_ID_LEN。

#define MAX_ID_LEN  80
char idToCheck[MAX_ID_LEN]
int i;

for (i = 0; i < MAX_ID_LEN; i++) {
   if (messBuffer[i] != ' ') {
       idToCheck[i] = messBUffer[i];
   }
   else {
       break;
   }
}

关于c - 在C中解析 "String"(字符数组)为字符串,int和int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26499798/

相关文章:

java - String.format 向长/字符串添加点

c - 是否有等效于倒带功能的功能,但仅适用于一个 token ?

python - 在numpy中组合多维数据

c++ - 如何访问和分配结构上的 int 指针数据类型的值?

java - 从数组中读取和检查值

javascript - 将空对象插入 Adsense 标签中的 adsbygoogle 数组的目的是什么?

algorithm - 微软面试题: Write an efficient string matching program for string matching?

固定大小的 C++ 数组获取垃圾值

c - 如果使用用户定义函数和 main() 函数访问全局声明的数组元素,为什么会得到不同的值?

c - 'if((x) || (y=z))' 是如何工作的?