如何在 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/