簡體   English   中英

在C中分割多行字符串

[英]split a multi-line string in C

如何在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";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM