1. 程式人生 > >matlab:字串陣列和string的區別

matlab:字串陣列和string的區別

前言

在用sprintf()格式化輸出時,發現formatSpec可以是單引號建立的字串陣列,也可以是string(‘str’)建立的string。所以產生了疑惑,這兩者有什麼區別,各適用在什麼場合

官方文件

Character arrays and string arrays provide storage for text data in MATLAB®.

    A character array is a sequence of characters, just as a numeric array is a sequence of numbers. A typical use is to
store short pieces of text as character vectors, such as c = 'Hello World'. A string array is a container for pieces of text. String arrays provide a set of functions for working with text as data. Starting in R2017a, you can create strings using double quotes, such as str = "Greetings friend". To convert
data to string arrays, use the string function.

程式碼

str=sprintf('pi = %.5f',pi);  %輸出型別為char
str1=sprintf(string('pi = %.5f'),pi);    %輸出型別為string

輸出結果:

%測試字串陣列
>> class(str)
ans =
char

>> str(1)
ans =
p

>> size(str)
ans =
     1    12

%測string
>> class(str1)
ans =
string
>> size(str1) ans = 1 1 >> str1(1) ans = string "pi = 3.14159"

總結

由文件中可看出:
1. 字串陣列就相當於資料型別為char的矩陣(向量)。用單引號建立。可以索引。
2. string相當於一個類。用string()函式建立例項物件。所以有一些函式可以對string進行操作。size為1*1。

相關推薦

matlab:字串陣列string區別

前言 在用sprintf()格式化輸出時,發現formatSpec可以是單引號建立的字串陣列,也可以是string(‘str’)建立的string。所以產生了疑惑,這兩者有什麼區別,各適用在什麼場合 官方文件 Character arrays and st

『C++ Primer學習筆記』Chapter 3 string物件、vector物件以及陣列的配套型別,C風格字串問題處理區別

string物件、vector物件以及陣列(指標)配套的型別 無論是string物件還是vector物件,它們都有一個size()的成員函式,因此就可能會有這樣的一個疑問:成員函式size()返回的到底是什麼型別?之所以可能會有而不是一定會有是因為,當我們使用

字串char *字串陣列char []的區別

字串char* char *str1="abcde"; 其實上面的char *str1是字串常量,儲存在靜態儲存區,是隻讀的,也就是說它是const char *str1 更好的表達它本身的意思。str1是一個變數,代表的意思就是字串的第一個字元的值 *(str1++

char a[](字串陣列)char *a(字串指標)區別

在C語言中,對字串的操作主要有兩種方式,一是使用字元陣列,char str[];二是使用字元指標。那麼二者有什麼區別呢?下面將分述二者的使用,最後進行比較。 一、字元陣列         使用char str[]定義一個字元陣列str,中括號內可以寫上數字表示陣列大

C 字串陣列char*指標在做&操作時的區別

在做HMAC編碼時發現一個詭異的問題,結果是由於C 字串陣列和char*指標在做&操作時的區別導致的,HMAC編碼時發現的問題見這裡。本文介紹C 字串陣列和char*指標在做&操作時的區別。 #include <string.h> #inclu

函式內 宣告一個字元陣列一個指向字串陣列的指標 區別

函式內 宣告一個字元陣列: char* Fuction()...{    char a[]="abcdefg";//存取在棧中return a;                  //返回指向“棧記憶體”的指正,VC6.0發出warning} 函式內宣告一個指向字串陣列

Java中forEach使用lambda表示式,陣列集合區別

1.陣列怎麼使用lambda 陣列不能直接在forEach中使用lambda表示式 PartnerType[] values = PartnerType.values(); //提示Cannot resolve method 'forEac

Solidify實現一個智慧合約9(陣列string之間的轉換關係)

固定大小位元組陣列之間的轉換 固定大小位元組陣列,我們可以通過bytes1~32來進行宣告,固定大小位元組陣列的長度不可變,內容不可修改。 pragma solidity ^0.4.4; contr

字串常量變數區別

#include #include using namespace std; int main() { string s1 = “abc”;//字串變數 char* s2 = “abc”;//字串常量,先在常量區儲存"abc",s2直接指向常量區的"abc"

【C++ / Java】char陣列string的相互轉換及自動轉換

一般的轉換: #include<cstdio> #include<cstring> #include<string> using namespace std; char str[100]; string s; int main()

Java 帶分隔字串字串陣列 ArrayList 之間的轉換

Java 帶分隔字串、字串陣列和 ArrayList<String> 之間的轉換一、先來認識一下標題說的這三件東西,也許描述的不清楚,但有了下面的例子,就不會有歧義了1、帶分隔字串是這樣的: String seperateStr = "111,222,333

C語言char*字串陣列unsigned char[]陣列的相互轉換

#include <iostream> #include <string> using namespace std; void convertUnCharToStr(char* str, unsigned char* UnChar,

php中陣列+array_merge區別

主要區別在與兩個或多個數組在合併時,出現相同的鍵名時處理方式不一樣 一、當鍵名為數字時,array_merge不會覆蓋原來的值,+會拋棄後面的值<?php /** * Created by P

String...String[]區別

public static String get(String url, String... params) { } 型別後面三個點(String…),是從Java 5開始,Java語言對方法引數支援一種新寫法,叫可變長度引數列表,其語法就是型別後跟

byte陣列String之間的相互轉換程式碼

public static String converByteToString(byte[] data) { ByteArrayInputStream byteInput = null; GZIPInputStream gzin = null; ByteArra

C語言------如何實現字串陣列整形陣列在終端上任意輸

我是新手, 學習C語言過程中,練習程式設計時常會遇到輸入任意字串(不越界的情況下任意輸入),或者是輸入任意長度的整形陣列,下面就是我的一些關於任意字串和陣列輸入程式碼的整理. 1. 字串      

第四天----陣列String

//氣泡排序法 int a[]={23,34,12,21}; int temp; //Arrays.sort(a); fo

alibaba下的fast json與字串String陣列list的相互轉換

/**  * 實體類轉json  * JSONObject j1 = (JSONObject)JSONObject.toJSON(man1);  * json轉實體類  * Man man3 = JSONObject.parseObject(j

Java_51_組合_內部類詳解_字串String類)_equals==的區別

組合 使用組合,可以獲得更多的靈活性,你甚至可以在執行的時候才決定哪幾個類組合在一起。 使用繼承,他是一種高度耦合,派生類和基類被緊緊的綁在一起,靈活性大大降低,而且,濫用繼承,也會使繼承樹變得又大又複雜,很難理解和維護。 如果是is-a關係,用繼承。【是一個[物件]】 如果是h

2018.9.15,Matlab實驗三:字串、單元陣列結構體

一、實驗任務和目的 1. 掌握Matlab的字串常用函式及其操作方法。 2. 掌握Matlab的結構體的基本操作方法。 3. 掌握Matlab的元胞陣列的基本操作方法。 二、實驗內容 1. 字串陣列Str=[‘hopes, dreams, hold u