Как проверить, начинается ли строка с другой строки в C?

Есть ли что-то вроде startWith (str_a, str_b) в стандартной библиотеке C?

Он должен принимать указатели на две строки, которые заканчиваются нулевыми байтами, и сообщать мне, появляется ли первая также полностью в начале второй.

Примеры: Я ищу что-то более элегантное, чем установка try / except везде.

РЕДАКТИРОВАТЬ: Йохен Ритцель дал отличный ответ ниже, в котором всплывает окно с предупреждением и упоминается о его присоединении к классу. Просто чтобы сделать это явным:

import Tkinter as tk
import traceback, tkMessageBox

class App:
    def __init__(self, master):
        master.report_callback_exception = self.report_callback_exception
        self.frame = tk.Frame(master)
        self.frame.pack()
        b = tk.Button(
            self.frame, text="This will cause an exception",
            command=self.cause_exception)
        b.pack()

    def cause_exception(self):
        a = []
        a.a = 0 #A traceback makes this easy to catch and fix

    def report_callback_exception(self, *args):
        err = traceback.format_exception(*args)
        tkMessageBox.showerror('Exception', err)

root = tk.Tk()
app = App(root)
root.mainloop()

Моя остающаяся путаница: Йохен упоминает возможность наличия разных функций отчетов об исключениях в разных фреймах. Я пока не понимаю, как это сделать. Это очевидно?

17
задан Stevoisiak supports Monica 1 March 2018 в 18:45
поделиться