c - 在C中分割多行字符串

标签 c string split multilinestring

如何在 const char* 数组中分割多行字符串?

这是输入字符串。

const char* str = "122.123,-38.789"
                  "122.123,-39.78";

我需要从中获取两个字符串。

str1 = "122.123,-38.789";

str2 = "122.123,-39.78";

输出

printf("string='%s'", str)

string='122.123,-38.789122.123,-39.78'

应该怎样分割这个字符串?

最佳答案

使用 char * 数组

#include <stdio.h>
const char* str[] = { "122.123,-38.789" ,  "122.123,-39.78" };

int main(){
  printf("%s\n%s\n",str[0],str[1] );
  return 0;
}

编译器如何理解您的代码:

C 预处理器将字符串连接在一起,

const char* str = "122.123,-38.789"
                  "122.123,-39.78";

字符串之间的换行符被解析为空格,与空格或制表符视为相同。所以它相当于:

const char* str = "122.123,-38.789" "122.123,-39.78";

预处理器转换成的内容

const char* str = "122.123,-38.789122.123,-39.78";

关于c - 在C中分割多行字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36051566/

相关文章:

c - 使用指针反转字符串

android - 如何从 Java 中的 HTML 代码中获取带有 javascript 代码的子字符串?

javascript - 用正则表达式拆分驼峰式字符串

java - 正则表达式拆分除指定子字符串以外的字符串

c - 相当于 Windows 上的/dev/kmsg 吗?

c - 无论我运行什么代码,意外标记 `(' 附近的语法错误

c - 仅使用一个 printf() 提示输入并打印响应?

c - 将 char* 拆分为 char * 数组

c++ - 为什么函数指针、函数地址和函数相同?

string - 是否可以在 JavaScript 中记录变量名称?